WPF组合框未在选择时触发
我有一个组合框,如下所示。为什么幕后的代码不总是被激活 XAML:WPF组合框未在选择时触发,wpf,mvvm,binding,Wpf,Mvvm,Binding,我有一个组合框,如下所示。为什么幕后的代码不总是被激活 XAML: 代码隐藏: 创建私有字符串; 创建公共字符串{ 得到{ //.... 返回cbAppendCreate } 设置{//当选择两项中的第一项时,此选项不会触发, //但在选择两项中的第二项时始终激发 //.... 创造价值; } } 我将在这里发布我的工作代码,非常简单。我刚刚使用VS2012模板创建了一个默认WPF应用程序。以下是MainWindow.xaml内容: <Window x:Class=" WpfA
代码隐藏:
创建私有字符串;
创建公共字符串{
得到{
//....
返回cbAppendCreate
}
设置{//当选择两项中的第一项时,此选项不会触发,
//但在选择两项中的第二项时始终激发
//....
创造价值;
}
}
我将在这里发布我的工作代码,非常简单。我刚刚使用VS2012模板创建了一个默认WPF应用程序。以下是MainWindow.xaml内容:
<Window x:Class="
WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<ComboBox Height="23"
Name="cbAppendCreate"
VerticalAlignment="Top"
Width="120"
ItemsSource="{Binding Path=CbCreateAppendItems}"
SelectedValue="{Binding Path=CbAppendCreate,UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Text="{Binding CbAppendCreate}"></TextBlock>
</StackPanel>
下面是隐藏的代码:
namespace WpfApplication1
{
public class DataSource
{
public List<string> CbCreateAppendItems { get; set; }
public string CbAppendCreate { get; set; }
public DataSource()
{
CbCreateAppendItems = new List<string>() { "create", "append" };
}
}
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new DataSource();
}
}
}
命名空间WpfApplication1
{
公共类数据源
{
公共列表CbCreateAppendItems{get;set;}
公共字符串CbAppendCreate{get;set;}
公共数据源()
{
CbCreateAppendItems=new List(){“create”,“append”};
}
}
///
///MainWindow.xaml的交互逻辑
///
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
DataContext=新数据源();
}
}
}
当我在组合框中选择不同的值时,TextBlock将更新为相同的值,因此VM的属性也将更新。输出窗口中的任何绑定错误?无法在我的简单设置中重现。发布更多代码,或者我可以发布我的代码,如果你愿意的话。@Haspemulator我也很乐意发送我的项目。我想看看它,如果它与我上面发布的代码不同的话。我正在关注MVVM。我之所以接受它,是因为它是有效的,并且我创建了一个可以在每个选择上激发的工作示例,但是我的问题仍然存在于原始的。setter不会触发组合框值的任何更改。我不知道臭虫在哪里。