[英]Own property of UserControl in WPF
我有一个带有2个网格的用户控件。 现在,我希望能够检索具有焦点的网格并将其公开给我的视图模型。 如何在WPF中执行此操作? 我想用具有焦点的Grid
名称在视图模型中填充一个属性。 这似乎并不容易。
有人可以帮忙吗?
谢谢!
如果要将UI元素或特定部分暴露给视图模型,则确实应该重新考虑设计。 通常,您的视图模型不应该知道任何特定的ui元素。 您到底想使用ui元素的名称做什么? 您可以在两个网格上听GotFocus事件,例如
<Grid x:Name="Grid1" GotFocus="OnGridGotFocus"/>
<Grid x:Name="Grid2" GotFocus="OnGridGotFocus"/>
并将此方法添加到您的UserControl中,在此方法中,您可以通过
private static void OnGridGotFocus(object aSender, RoutedEventArgs aE)
{
string name = (string)(aSender as DependencyObject).GetValue(NameProperty);
}
该名称现在可以写入到您绑定到视图模型的DependencyProperty
中。 但是,我仍然认为您不应该这样做。
如果您确切说明您要实现的目标,也许我们可以为您提供更好的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.