以不同的视图访问一个Usercontrol
这里第一个带有radiobuttons和其他元素的矩形应该是通用的用户控件。
以下具有灰色区域的框是其他视图。灰色区域必须显示UserControl。如箭头所示,仅显示那些字段。灰色区域将根据视图而变化。基本上开发人员需要这些通用控件在所有地方重复这一点。可以建议某种方式去做。
这里灰色框视图有自己的视图模型...而userdtrol单独作为其视图模型
答案 0 :(得分:0)
如果您询问如何在用户界面中的不同位置显示相同UserControl
的不同元素,那么您可以在bool
和{{1}上定义一些UserControl
属性}元素的Bind
属性,然后在外部设置它们:
在Visibility
:
UserControl
然后在XAML中:
public static readonly DependencyProperty AreButtonsVisibleProperty =
DependencyProperty.Register("AreButtonsVisible", typeof(bool),
typeof(YourUserControlName), new UIPropertyMetadata(false));
public bool AreButtonsVisible
{
get { return (bool)GetValue(AreButtonsVisibleProperty); }
set { SetValue(AreButtonsVisibleProperty, value); }
}
然后,在您使用xmlns:Converters="clr-namespace:ApplictaionName.Converters"
xmlns:YourControlNamespace="clr-namespace:ApplictaionName.YourControlNamespace"
...
<UserControl.Resources>
<Converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</UserControl.Resources>
...
<Button Content="->" Visibility="{Binding AreButtonsVisible, RelativeSource={
RelativeSource AncestorType={x:Type YourControlNamespace:YourUserControl}},
Converter={StaticResource BooleanToVisibilityConverter}}" />
<Button Content="X" Visibility="{Binding AreButtonsVisible, RelativeSource={
RelativeSource AncestorType={x:Type YourControlNamespace:YourUserControl}},
Converter={StaticResource BooleanToVisibilityConverter}}" />
的位置,您可以隐藏UserControl
s:
Button