c# - 如何使用 "current"值绑定(bind)到 WPF 中的枚举

标签 c# wpf data-binding xaml enums

我有一个简单的 .Net 枚举。我还有一个 View 模型对象,它具有我的枚举类型的“CurrentValue”属性。此属性可以是数据绑定(bind)的(对象实现 INotifyPropertyChanged)。现在我想以特定顺序为枚举的每个值显示一个 UI 元素,并突出显示“CurrentValue”(粗体)。我希望声明是这样的:

<StackPanel Orientation="Vertical">               
    <ContentControl Content="{x:Static MyEnum.Value1}" />
    <ContentControl Content="{x:Static MyEnum.Value2}" Margin="10" />
    <ContentControl Content="{x:Static MyEnum.Value3}" />
</StackPanel>

我想单独声明每个值,以指定顺序,还因为我希望某些元素具有特定的边距值。此外,稍后我想为每个值显示特定的图标。

现在我不知道如何声明我希望与 CurrentValue 关联的控件为粗体。我尝试在模板中使用通用 DataTrigger 来根据 CurrentValue 检查内容,但似乎触发器的值不能是绑定(bind)。

我也考虑过使用禁用的 ListBox,但我无法为特定项目设置特定边距。或者我可以吗?

最佳答案

试穿这个尺寸...

<ListBox>
  <ListBoxItem><local:MyEnum>Value1</local:MyEnum></ListBoxItem>
  <ListBoxItem Margin="10"><local:MyEnum>Value2</local:MyEnum></ListBoxItem>
  <ListBoxItem><local:MyEnum>Value3</local:MyEnum></ListBoxItem>
</ListBox>

您需要将本地 xmlns 映射到您的 CLR 命名空间。

关于c# - 如何使用 "current"值绑定(bind)到 WPF 中的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/600661/

相关文章:

c# - 清理 Silverlight 输入

c# - 使用属性属性在MVVM中进行验证

c# 绑定(bind)到嵌套对象上的字段

javascript - 如何绑定(bind)外键kendo ui dropdownlist(带 Angular )

c# - SQLite 没有创建 DateTime 字段

c# - 来自浏览器的 WCF 方法调用返回 400 错误请求

c# - Dapper : BEGIN TRAN or TransactionScope? 哪个交易更好

c# - 使用 WPF 项目一键安装 mongodb

wpf - 如何理解相机的属性,如位置、视线方向、向上方向?

data-binding - 数据绑定(bind)多端关联