2014-08-29 37 views
2

據我所見,我所有的自定義控件屬性都可以直接從WPF窗口XAML編輯。有什麼方法可以隱藏其中的一些嗎?我們擁有的屬性在應用程序啓動時絕對沒有意義,需要在運行時稍後進行更改。如何隱藏WPF窗口XAML中的屬性?

我腦海中唯一的想法是將它們改爲方法?你怎麼看?

謝謝。

+3

您是否嘗試過的成員註釋'[BrowsableAttribute(假)]'? – Pragmateek 2014-08-29 08:39:51

+0

是的,這會將它們從Visual Studio對象屬性中隱藏起來,但您仍然可以在XAML中調用它們並設置它們。 – abenci 2014-08-29 09:07:23

+0

你怎麼「回憶」他們?以及您用於編輯屬性的控件是什麼? – Krishna 2014-08-29 09:09:23

回答

-1

嘗試這樣:

class Name { 
    public int x; 
} 

x將是一個字段,而不是一個屬性。

+0

如果在更改'x'後需要添加某些邏輯,該怎麼辦? – abenci 2014-08-29 09:27:15

+0

將屬性更改爲僅用於抑制XAML設計器中的智能感知的字段並不合理。有很好的理由使用屬性而不是字段。 – Marc 2014-08-29 09:29:50

+0

這是一個解決方案。好的,它有明顯的缺點。但無論如何,這是一個解決方案,不是嗎? ) – norekhov 2014-08-29 09:42:08

1

您可以使用EditorBrowsableAttribute從XAML編輯器中隱藏屬性。在屬性上將此屬性設置爲EditorBrowsableState.Never將隱藏它。

[EditorBrowsable(EditorBrowsableState.Never)] 
public int BusinessProperty {get; set;} 

此處瞭解詳情:EditorBrowsableAttribute