我在資源字典中定義了二維XAML數組,以存儲WPF ComboBox數據內容,如下所示。 <x:Array x:Key="ThreatLevelArray" Type="{x:Type local:ThreatLevel}"> <local:ThreatLevel ThreatLevelName="Very Low" ThreatLevelNumber="0" /> <local:ThreatLevel ThreatLevelName="Low" ThreatLevelNumber="1" /></x:Array>此類在后面的代碼中支持該數組。public class ThreatLevel{ public int ThreatLevelNumber { get; set; } public string ThreatLevelName { get; set; }}組合框顯示“ ThreatLevelName”,并使用“ ThreatLevelNumber”提供的值更新數據庫中的“ ThreatLevel”字段。<ComboBox x:Name="threatLevelComboBox" DisplayMemberPath="ThreatLevelName" IsEditable="True" IsReadOnly="True" ItemsSource="{StaticResource ThreatLevelArray}" SelectedValue="{Binding Path=ThreatLevel, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" SelectedValuePath="ThreatLevelNumber" Style="{StaticResource ComboBoxStyle}" />一切正常,但是我希望能夠顯示圖像而不是“ ThreatLevelName”文本。我試過了 ....public class ThreatLevel{ public int ThreatLevelNumber { get; set; } public string ThreatLevelName { get; set; } public Image ThreatLevelImage { get; set; }}但是以下內容為我提供了錯誤:““圖像”的TypeConverter不支持從字符串轉換”。 <x:Array x:Key="ThreatLevelArray" Type="{x:Type local:ThreatLevel}"> <local:ThreatLevel ThreatLevelName="Very Low" ThreatLevelNumber="0" ThreatLevelImage="/RMS_EF6;component/RMS_Images/VeryLow.png"/> <local:ThreatLevel ThreatLevelName="Low" ThreatLevelNumber="1" ThreatLevelImage="/RMS_EF6;component/RMS_Images/Low.png"/></x:Array>我該如何解決此錯誤,并使用此過程創建如下所示的ComboBox。<ComboBox x:Name="threatLevelComboBox" DisplayMemberPath="ThreatLevelImage" IsEditable="True" IsReadOnly="True" ItemsSource="{StaticResource ThreatLevelArray}" SelectedValue="{Binding Path=ThreatLevel, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" SelectedValuePath="ThreatLevelNumber" Style="{StaticResource ComboBoxStyle}" />
- 1 回答
- 0 關注
- 176 瀏覽
添加回答
舉報
0/150
提交
取消