将 int 变量绑定为样式中的值
Binding int variable as value in style
我正在尝试查找如何将 int 变量绑定为我的样式值。这是我的简单 xaml 风格。
<Style TargetType="Button" x:Key="ButtonMenu">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Foreground" Value="White"/>
</Style>
在第四行,我想将值从 14 更改为名为 SizeVar 的变量,但我找不到如何操作。我真的试过谷歌搜索但找不到任何适合我的东西。我知道我应该通过绑定以某种方式做到这一点,但不知道具体怎么做。
我尝试使用不同的绑定选项,但找不到适合我的选项。我的英语也不完美所以可能我误解了什么。
根据你的描述我解读如下:
- 您有一个 XAML-file 在资源中您想要包含名为“ButtonMenu”的样式的位置。
- 绑定到 FontSize 的变量称为“SizeVar”,包含在已设置的 DataContext 中。
有了这个,我对其进行了测试,并进行了以下工作。
在视图中(XAML):
...
<Window.DataContext>
<viewmodels:MainViewModel/>
</Window.DataContext>
<Window.Resources>
<Style TargetType="Button" x:Key="ButtonMenu">
<Setter Property="FontSize" Value="{Binding SizeVar}"/>
</Style>
</Window.Resources>
<Grid>
<Button
Content="Test"
Style="{DynamicResource ButtonMenu}"/>
</Grid>
...
在关联的 ViewModel (C#) 中:
private int _sizeVar;
public int SizeVar
{
get => _sizeVar;
set
{
_sizeVar = value;
OnPropertyChanged();
}
}
public MainViewModel()
{
SizeVar = 14;
}
我正在尝试查找如何将 int 变量绑定为我的样式值。这是我的简单 xaml 风格。
<Style TargetType="Button" x:Key="ButtonMenu">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Foreground" Value="White"/>
</Style>
在第四行,我想将值从 14 更改为名为 SizeVar 的变量,但我找不到如何操作。我真的试过谷歌搜索但找不到任何适合我的东西。我知道我应该通过绑定以某种方式做到这一点,但不知道具体怎么做。
我尝试使用不同的绑定选项,但找不到适合我的选项。我的英语也不完美所以可能我误解了什么。
根据你的描述我解读如下:
- 您有一个 XAML-file 在资源中您想要包含名为“ButtonMenu”的样式的位置。
- 绑定到 FontSize 的变量称为“SizeVar”,包含在已设置的 DataContext 中。
有了这个,我对其进行了测试,并进行了以下工作。
在视图中(XAML):
...
<Window.DataContext>
<viewmodels:MainViewModel/>
</Window.DataContext>
<Window.Resources>
<Style TargetType="Button" x:Key="ButtonMenu">
<Setter Property="FontSize" Value="{Binding SizeVar}"/>
</Style>
</Window.Resources>
<Grid>
<Button
Content="Test"
Style="{DynamicResource ButtonMenu}"/>
</Grid>
...
在关联的 ViewModel (C#) 中:
private int _sizeVar;
public int SizeVar
{
get => _sizeVar;
set
{
_sizeVar = value;
OnPropertyChanged();
}
}
public MainViewModel()
{
SizeVar = 14;
}