我有以下 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
?我猜我有一个绑定问题。
请指教。
截屏: