将 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 的变量,但我找不到如何操作。我真的试过谷歌搜索但找不到任何适合我的东西。我知道我应该通过绑定以某种方式做到这一点,但不知道具体怎么做。

我尝试使用不同的绑定选项,但找不到适合我的选项。我的英语也不完美所以可能我误解了什么。

根据你的描述我解读如下:

  1. 您有一个 XAML-file 在资源中您想要包含名为“ButtonMenu”的样式的位置。
  2. 绑定到 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;
}