【发布时间】:2018-08-07 17:25:02
【问题描述】:
我对 WPF 比较陌生。我正在尝试打开一个 excel 文件并拉出列标题并将其作为检查列表显示在我的窗口中。现在我在更新我的窗口/清单时遇到问题。
这是我在 xaml 中的内容
<DockPanel Grid.Column="0" Grid.Row="1" Margin="10">
<ListBox ItemsSource="{Binding TagListData}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsTagSelected}" Content="{Binding TagName}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DockPanel>
这就是我在 cs 代码中的内容。 (而不是阅读打开的 excel 文档,我现在只是使用占位符来查看我是否正确执行此操作。)
private Excel.Application xlApp;
private Excel.Workbook xlWorkbook;
public ObservableCollection<TagClass> TagListData { get; set; }
public MainWindow()
{
InitializeComponent();
...
TagListData = new ObservableCollection<TagClass>();
}
private void btnOpenFile_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel Files|*.xls;*.xlsx;*.slxm";
if (openFileDialog.ShowDialog() == true)
{
xlApp = new Excel.Application();
xlWorkbook = xlApp.Workbooks.Open(openFileDialog.FileName);
//populate TagListData
TagListData.Add(new TagClass { IsTagSelected = true, TagName = "Tag Name 1" });
}
}
public class TagClass
{
public string TagName { get; set; }
public bool IsTagSelected { get; set; }
}
当我尝试打开一个文件以填充我的清单时,没有任何反应。有谁知道我做错了什么?
我还发现它会检查项目何时更新,但我想检查列表/集合何时更新。我很难弄清楚这一点.. ListBox item doesn't get refresh in WPF?
谢谢
【问题讨论】:
标签: c# wpf checkbox data-binding checkboxlist