【发布时间】:2014-08-26 10:46:49
【问题描述】:
我有以下 XML 从中获取 ID 并将其填充到列表中:
<TestCase ID="TEST">
<Frames>
<Frame>ff</Frame>
<Frame>ff 53</Frame>
</Frames>
</TestCase>
我创建了一个List,如下:
public List<CheckedListItem> AvailableFrames;
public class CheckedListItem
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsChecked { get; set; }
}
我创建 CheckListBox 的 Xaml 如下,
<xctk:CheckListBox x:Name="ListBox_TestCase"
ItemsSource="{Binding AvailableFrames}"
SelectedMemberPath="{Binding IsChecked}"
SelectedValue="{Binding Name}"/>
以下是我如何将从 XML 解析的条目分配给 List,然后分配给 CheckBoxList:
private void Button_TestCase_Click(object sender, RoutedEventArgs e)
{
MessageBoxButton btn = MessageBoxButton.OK;
try
{
TestCases1 = Serializer.Deserialize("TEST.xml");
AvailableFrames = new List<CheckedListItem>();
if (TestCases1 != null)
{
Int32 xx = 0;
foreach (TestCase item in OSDPTestCases1.TestCases)
{
AvailableFrames.Add(new CheckedListItem() {Id = xx++, Name = item.ID, IsChecked = false });
}
}
ListBox_TestCase.ItemsSource = AvailableFrames;
}
catch (Exception ex)
{
var result = ModernDialog.ShowMessage(ex.Message, "Error", btn);
}
}
但是,我无法获取列表 AvailableFrames 以将“名称”条目填充到 CheckBoxList 项中。它以某种方式获取条目数(在我的情况下为 5 个)并填充 5 个空的 checkList 项,但名称或“ID”中的值没有反映。
为什么List<AvailableFrames> 中的值没有出现在CheckBoxList 中?我猜我有一个绑定问题。
请指教。
截图:
【问题讨论】:
-
你看过 Xceed 的 example implementation 了吗?
-
你的意思是这里的那个,WPF Example from Xceed 是的,我做到了。
-
不,我在评论中链接的那个。这是 Xceeds WPF Toolkit 的实时资源管理器演示。
-
确保实现 Equals 和 GetHashCode 方法。如果不是,您可能会遇到复选框问题。
标签: c# wpf wpftoolkit checkboxlist xceed