PetekDincos
سه شنبه 14 دی 1389, 17:37 عصر
با سلام
من در فرمم برای کلیدهای هات از CommandBinding استفاده می کنم به صورت زیر
ابتدا در Code Behind فرمم یک متغییر از نوع RoutedCommand
public static RoutedCommand WinOKCommand=new RoutedCommand();
private void CanExecutedCommand(object sender,CanExecutedEventArgs e)
{
Control targer=(Control)sender;
if(targer==null){
e.CanExecute=false;
return;
}
e.CanExecute=true;
}
private void OKCommand(object sender,ExecutedEventArgs e)
{
MessageBox.Show("ddddddd");
}
بعد در کد XAML فرمم این کار را انجام می دم
<Window ....
xmlns:local="clr-namespace:namespacewin" />
<Window.CommandBinding>
<CommandBindign Command="local:Win.winOKCommand CanExecute="CanExecuteCommand" Execte="OKCommand" />
</Window.CommandBindign>
<Window.InputBinding>
<InputBindign Key="F5" Command="local:Win.winOKCommand CanExecute="CanExecuteCommand" />
</Window.InputBinding>
<Grid>
<Button Command="local:Win.winOKCommand CanExecute="CanExecuteCommand" />
</Grid>
</Window>
و وقتی حتی Button غیر فعال یا Visible اش Hidden است با زدن کلید F5 این Command اجرا می شود حتی در رویداد CanExecutedCommand این موارد را هم برای اجرایش چک کردم اما با اجرا شد نمی دونم این از خاصیت های Command است یا من از کد اشتباهی استفاده می کنم با تشکر
من در فرمم برای کلیدهای هات از CommandBinding استفاده می کنم به صورت زیر
ابتدا در Code Behind فرمم یک متغییر از نوع RoutedCommand
public static RoutedCommand WinOKCommand=new RoutedCommand();
private void CanExecutedCommand(object sender,CanExecutedEventArgs e)
{
Control targer=(Control)sender;
if(targer==null){
e.CanExecute=false;
return;
}
e.CanExecute=true;
}
private void OKCommand(object sender,ExecutedEventArgs e)
{
MessageBox.Show("ddddddd");
}
بعد در کد XAML فرمم این کار را انجام می دم
<Window ....
xmlns:local="clr-namespace:namespacewin" />
<Window.CommandBinding>
<CommandBindign Command="local:Win.winOKCommand CanExecute="CanExecuteCommand" Execte="OKCommand" />
</Window.CommandBindign>
<Window.InputBinding>
<InputBindign Key="F5" Command="local:Win.winOKCommand CanExecute="CanExecuteCommand" />
</Window.InputBinding>
<Grid>
<Button Command="local:Win.winOKCommand CanExecute="CanExecuteCommand" />
</Grid>
</Window>
و وقتی حتی Button غیر فعال یا Visible اش Hidden است با زدن کلید F5 این Command اجرا می شود حتی در رویداد CanExecutedCommand این موارد را هم برای اجرایش چک کردم اما با اجرا شد نمی دونم این از خاصیت های Command است یا من از کد اشتباهی استفاده می کنم با تشکر