English 中文(简体)
WPF 珍视: 怎样才能将一面价值与相对性挂钩?
原标题:WPF Trigger Binding: What s the best way to bind an enum value to visiblity?

我有用户控制(Name Field)。 在我内部有包含3个格里德人的中继器:,StandardView,FluidView/code>, 其他意见。 在代码背后的I中,有一份<代码>代码>代码<>代码>,称为<代码> > 代码 类型<代码>Name FieldView (enum)。 载于ashDARD,>FLUID,OTH

我认为,我必须建立一个变换者,但我不相信这是必要的。 我基本上想这样做,这样,唯一看得见的电网就等于......即,如果是<代码>。 View = 外地名称。

而且,如果是的话,Im, 则不是部分?

最佳回答

与许多妇女论坛一样,这确实取决于你们的教条。 这里有一些选择。

您可创建三艘四轮运输机,将“观点”财产的价值转换为可见性(或将大号名称作为“变相仪”计算,并创建一台转换器)。

你可以创造三个新特性,即“StandardViewIsible”、“FluidViewIsisible”和“其他意见”,在观点财产发生变化时加以更新。 这些特性是回归类型。 即便是用“观点”做事的“MVVM”方法,这还是决定了的。

您可以使用一个数据交换机,根据观点财产目前的价值确定适当的电网可见度或孔隙。

问题回答

我为此使用数据触发器。 它看着这样的情况;

<Style TargetType="DockPanel" x:Key="ViewStyle1">
   <Setter Property="Visibility" Value="Collapsed"/>
   <Style.Triggers>
     <DataTrigger Binding="{Binding ViewStyle}" Value="ViewStyle1">
       <Setter Property="Visibility" Value="Visible"/>
     </DataTrigger>
   </Style.Triggers>
</Style>

然后,我为每一种观点风格以及每当<代码>Style 变更财产时,就适当的观点显示。

我将设立一个兑换商。 如果在你有适当约束性的问题时添加一个转换器,那么你将慢慢地建造一个图书馆供你使用,使未来生态环境更加容易。 我要说的是,它有两种方法:

public Object Convert(Object value, Type TargetType, Object param, CultureInfo Culture);
public Object ConvertBack(Object value, Type TargetType, Object param, CultureInfo Culture);

Convert will have a NameFieldView param and returns a Visibility value. ConvertBack will have a Visibility param and returns a NameFieldView value.

具有约束力者希望:

<Grid Name="StandardView" Visibility="{Binding View, Converter={StaticResource NameFieldViewToVisibilityConverter}"  />




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签