wpf - 如何在 ObjectDataProvider 中引用另一个类的枚举?
问题描述
我想将枚举绑定到ComboBox
.
这是BarcodeModel.cs
包含枚举的类:
这是类中的枚举:
public enum BarcodeType
{ AZTEC, CODABAR, CODE128, CODE93, CODE39, DATA_MATRIX, EAN13, EAN8, ITF, MAXICODE, PDF417, QRCODE, RSS14, RSSEXPANDED, UPCA, UPCE, UPC_EAN_EXTENSION }
好吧,在同一个项目的另一个目录中,我使用 anObjectDataProvider
来绑定它:
<Page x:Class="KongGamLung.ToolProperty.BarCodeProperty"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:KongGamLung.ToolProperty"
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:Model="clr-namespace:KongGamLung.Models"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="BarCodeProperty">
<Page.Resources>
<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="Model:BarcodeModel.BarcodeType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Page.Resources>
<ComboBox x:Name="BarcodeTypeCB" ItemsSource="{Binding Source={StaticResource dataFromEnum}}"></ComboBox>
</Page>
运行后,Visual Studio 抛出 XamlParseException 错误,找不到“<code>{clr-namespace:KongGamLung.Models;assembly=KongGamLung, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null}BarcodeModel.BarcodeType”< /p>
如何正确引用枚举?你能帮帮我吗?谢谢你。
解决方案
如果要在 xaml 中引用嵌套类型,而不是“.”,请使用“+”。
<x:Type TypeName="Model:BarcodeModel+BarcodeType"/>
推荐阅读
- react-native - 是否有任何解决方案可以在使用反应导航处于活动状态时更改选项卡导航图标的颜色
- gerrit - 如何在 gerrit 提交上触发多个构建?
- java - 应用程序对 InputStream.read() 无响应;
- android - 在我的 if 语句之后,什么也没发生。其他被忽略
- node.js - 如何将 postgreSQL 转换为 Sequelize 格式
- java - 使用 Eclipse 调试 Mapstruct 实现
- python - 保存程序的当前状态并从上次保存的点再次恢复
- html - 隐藏或删除所有子元素时防止 div 折叠
- python - rangeBetween 与前几行的负值
- curl - 通过 Google Apps 脚本从 SKULabs API 获取数据