csharp 【WPF】【】MVVM MVVMでの控制焦点を指定する。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 【WPF】【】MVVM MVVMでの控制焦点を指定する。相关的知识,希望对你有一定的参考价值。
<!-- usage -->
<!-- ViewModelにIsSelectedプロパティを用意してあげて、その値を変更することでbehaviorが走り、Focusが変わる。 -->
<TextBox my:FocusExtension.IsFocused="{Binding IsSelected}" />
// Focus用behaviorを作ってあげて、それを利用するのが良さそう。
public static class FocusExtension
{
public static bool GetIsFocused(DependencyObject obj)
{
return (bool)obj.GetValue(IsFocusedProperty);
}
public static void SetIsFocused(DependencyObject obj, bool value)
{
obj.SetValue(IsFocusedProperty, value);
}
public static readonly DependencyProperty IsFocusedProperty =
DependencyProperty.RegisterAttached(
"IsFocused", typeof(bool), typeof(FocusExtension),
new UIPropertyMetadata(false, OnIsFocusedPropertyChanged));
private static void OnIsFocusedPropertyChanged(
DependencyObject d,
DependencyPropertyChangedEventArgs e)
{
var uie = (UIElement)d;
if ((bool)e.NewValue)
{
uie.Focus();
}
}
}
以上是关于csharp 【WPF】【】MVVM MVVMでの控制焦点を指定する。的主要内容,如果未能解决你的问题,请参考以下文章
wpf mvvm 还都有哪些框架
有没有wpf mvvm框架的详细讲解?
WPF MVVM
wpf mvvm获取列表行数据
MVVM设计模式和在WPF中的实现 事件绑定
wpf mvvm模式 Icommand接口应该如何理解?