0
我正在構建一個應用程序,該應用程序將根據選中的項目從數據庫返回數據複選框。通過綁定數據,我已成功顯示數據庫中的數據。就像這樣:WPF - 如何從列表框內的複選框項目中讀取值並與數據庫綁定?
XAML:
<ListBox x:Name="listBox1" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="52" Margin="141,264,0,0" VerticalAlignment="Top" Width="307" SelectionMode="Multiple">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox x:Name="checkBox1" IsChecked="{Binding IsSelected}" Content="{Binding NacinGrejanja}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
C#:
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
Dataset1 ds= new Dataset1();
GrejanjeTableAdapter gta = new GrejanjeTableAdapter();
gta.Fill(ds.Grejanje);
listbox1.DataContext = ds.Grejanje;
}
但我無法弄清楚如何從檢查值中提取的字符串值,然後再搜索數據庫中的值。我無法通過代碼訪問checkBox1的任何屬性。
另外我想首先檢查是否有任何複選框項被選中。
嗨,山姆,謝謝你的回答。這種方式給我在IsSelected上的一個錯誤:'Nekretninko.DataSet.GrejanjeRow'不包含'IsSelected'的定義,並且沒有任何接受'Nekretninko.DataSet.GrejanjeRow'類型的第一個參數的擴展方法'IsSelected'可以被找到你忘了使用指令或程序集引用了嗎? – Adicili
@Adicili對不起,很快就沒有回覆。上面,你的'listbox1'綁定到'ds.Grejanje'。並且從你的XAML('IsChecked =「{Binding IsSelected} ),我假設'ds.Grejanje'中的項目/行具有一個名爲'IsSelected'的屬性,所以當我在'ds.Grejanje'中使用linq查詢時,理想情況下它不應該拋出錯誤 – sam
@Adicili你可以在'ds.Grejanje'上分享你的物品的屬性嗎?那麼我將能夠更好地幫助你。 – sam