2017-07-28 50 views
0

我正在爲WPF中的複雜後備模型設計一個表單。一些表單控件的依賴於底層的視圖模型設置了多個選項,所以我已經設置了例如在VS2013中,在設計階段明確設置/忽略可視性?

<TextBlock.Visibility> 
    <MultiBinding Converter="{StaticResource AndMultiValueVisibilityConverter}"> 
    <Binding Path="RelevantSystemOption" /> 
    <Binding Path="RelevantLicenseKeyOption"/> 
    </MultiBinding> 
</TextBlock.Visibility> 

AndMultiValueVisibilityConverter需要布爾值,僅使可見的東西,如果他們都如此,以供參考。

這會在設計時關閉控制器的能見度,這是我不想要的。

我知道Expression Blend and design-time attributes在運行時可以忽略某些佈局確定的能力。 d:IsHidden沒有被尊重,並且d:LayoutOverrides在可見性上不起作用,因爲它是一個動態屬性。

我寧願不使用d:DataContext填充整個支持模型。如果必須的話,我會如何,但是有沒有更簡單的方法來強制這種特定的控制方式,也許有一些其他的方法在設計時始終可見?

+0

使用'DesignerProperties.GetIsInDesignMode(新的DependencyObject())'在多值轉換器。 – Will

+0

是的,那樣的效果很好。你是否認爲這是一個評論? – Glazius

+0

如果我能找到一個體面的規範問題,我會把它作爲一個副本來關閉(這非常好,很正常),但我不能。所以,嗯,回答。 – Will

回答