【发布时间】:2017-04-13 09:05:44
【问题描述】:
我有 UserControl 包含 ComboBox 和 TextBox:
<ComboBox x:Name="cmbId" SelectionChanged="cmbId_SelectionChanged" />
<TextBox x:Name="txb1" Visibility="Hidden" Text="{Binding Path=FirstName, UpdateSourceTrigger=PropertyChanged}" />
我已将值加载到 ComboBox:
public MyDataView()
{
InitializeComponent();
MyDBViewDataContext mydata = new MyDBViewDataContext();
cmbId.ItemsSource = (from q in mydata.test_views
select q.Id).ToList();
}
当用户在 ComboBox 上选择项目时,TextBox 应该显示值:
private void cmbId_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int myId = 0;
Int32.TryParse(cmbId.Text, out myId);
txb1.Visibility = Visibility.Visible;
MyDBViewDataContext myDataList = new MyDBViewDataContext();
var queryAll = (from q in myDataList.test_views
where q.Id.Equals(myId)
select q);
}
但它不起作用。缺少什么或我做错了什么?
【问题讨论】:
-
您正在绑定一个名为 FirstName 的属性...您希望该名称来自哪里?
-
你希望它做什么?
-
你需要设置
FirstName,那么你可能需要在FirstName的setter中引发NotifyPropertyChanged事件 -
名字应该取自“queryAll”
标签: c# wpf linq data-binding combobox