是否有一种在xaml中指定int值的简单方法

Art*_*eny 11 wpf xaml binding

我想在xaml中使用int值设置Tag属性.但是在资源中定义int然后将此资源作为绑定引用对我来说不是一个完美的方式.将字符串值从代码转换为int更容易.那么,有没有办法在xaml中轻松设置int值?

Hee*_*til 13

请试试这个.

在xaml中 添加命名空间 xmlns:sys ="clr-namespace:System; assembly = mscorlib"

<sys:Int16 x:Key="IntNo">1</sys:Int16> or

<sys:Int32 x:Key="IntNo1" >1</sys:Int32>
Run Code Online (Sandbox Code Playgroud)

注意:同样您也可以使用Double值.


Roh*_*ats 10

如果对将它声明为资源不感兴趣,可以在线声明它,如下所示:

    <Button>
        <Button.Tag>
            <sys:Int32>5</sys:Int32>
        </Button.Tag>
    </Button>
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,它的字母也太多了。我需要为多个元素设置标签,例如 `Tag="int:0"、Tag="int:1"` 等 (2认同)
  • 是的,但是 (int)button.Tag 比 int.Parse((string)button.Tag) 更简单:) 好的,据我所知,使用字符串值来实现这种外观是最简单的现有方法 (2认同)

Cod*_*Ars 9

xmlns:sys="clr-namespace:System;assembly=mscorlib"


<Grid>
    <Grid.Resources>
        <sys:Int32 x:Key="IntValue" >1</sys:Int32>
    </Grid.Resources>
    <Button x:Name="Button" Tag="{StaticResource IntValue}"></Button>
</Grid>
Run Code Online (Sandbox Code Playgroud)

这很简单吗?如果您要在多个地方使用您的价值,上述样本将是合适的.除此以外:

<Button x:Name="Button" >
        <Button.Tag>
            <sys:Int32>1</sys:Int32>
        </Button.Tag>
    </Button>
Run Code Online (Sandbox Code Playgroud)