Rel*_*ity 2 wpf focus groupbox
我有三个文本框...我想检查这三个文件中是否有任何一个关注它.
我试过这样的事情 - >在viewmodel中添加了三个属性......其值将由丢失/获得焦点事件切换.(我通过附属物做到了这一点).但在这种情况下...如果我将一个文本框中的四个文件移动到下一个...第一个文本框的焦点变为错误...下一个尚未设置...所以在这种情况下这些文本框都没有焦点...但第二个很快就会获得焦点.
作为一种解决方法,我正在尝试使用Group box ...来检查此控件是否具有焦点而不是检查所有三个.请告诉我这项工作
Rac*_*hel 10
为什么你需要知道他们是否有焦点?
Focus是一个特定于视图的功能,所以我希望你的ViewModel不关心它.
通常,如果我基于控件Focus执行某些操作,那么它适用于特定于视图的操作,例如DataTrigger,在这种情况下,我使用代码隐藏或触发器
代码背后的例子
if (tb1.IsFocused|| tb2.IsFocused || tb3.IsFocused)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
触发示例
<Style.Triggers>
<DataTrigger Binding="{Binding IsFocused, ElementName=tb1}" Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding IsFocused, ElementName=tb2}" Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding IsFocused, ElementName=tb3}" Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
</Style.Triggers>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6519 次 |
| 最近记录: |