我希望在我的viewmodel上有一个命令在我的ComboBox的selectionchanged上执行.显然,Combobox不支持执行命令.
我创建了一个继承自Combox并实现此接口的新类.
当我尝试查看控件(在设计器或调试中)时,控件不显示.我没有任何例外 - 我的控件是否缺少视觉模板或其他东西?
谢谢.
public class CommandSourceComboBox : ComboBox, ICommandSource
{
static CommandSourceComboBox()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CommandSourceComboBox), new FrameworkPropertyMetadata(typeof(CommandSourceComboBox)));
}
#region ICommandSource Members
public ICommand Command
{
get;
set;
}
public object CommandParameter
{
get;
set;
}
public IInputElement CommandTarget
{
get;
set;
}
protected override void OnSelectionChanged(SelectionChangedEventArgs e)
{
base.OnSelectionChanged(e);
if (this.Command != null)
{
RoutedCommand command = Command as RoutedCommand;
if (command != null)
{
command.Execute(CommandParameter, CommandTarget);
}
else
{
((ICommand)Command).Execute(CommandParameter);
}
}
}
#endregion
}
Run Code Online (Sandbox Code Playgroud) 我有一个usercontrol,用于编辑我的应用程序中的一些对象.
我最近来到一个实例,我想弹出一个新的对话框(窗口)来托管这个用户控件.
如何实例化新窗口并将需要从窗口设置的任何属性传递给usercontrol?
谢谢你的时间.