是否可以爲wpf設計器定義一些設置? 我想提供用戶2顯示模式:「繪製與邊界的一切」和「運行時查看」。 我的自定義組件應該能夠檢查設置並相應地繪製自己。WPF設計器 - 用戶自定義設置
1
A
回答
1
我有一個建議,你爲什麼不只是添加一個DependencyProperty你的自定義組件將是「DisplayMode」,並取決於開發人員放入屬性(從Xaml或C#),自定義組件將呈現你想要的方式?
public static readonly DependencyProperty DisplayModeProperty = DependencyProperty.Register(
"DisplayMode", typeof(int), typeof(DisplayModeProperty), new PropertyMetadata(1, OnModeChanged));
public bool DisplayMode
{
private get { return (bool)GetValue(DisplayModeProperty); }
set { SetValue(DisplayModeProperty, value); }
}
private static void OnModeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
((MyCustomComponent)d).OnModeChanged(e);
}
private void OnModeChanged(DependencyPropertyChangedEventArgs e)
{
int mode = Convert.ToInt32(e.NewValue);
if(mode == 1)
{
//... Render for the Mode 1
}
else
{
//... Render for the Mode 2
}
}
在XAML:
<cust:MyCustomCompoenent DisplayMode="1"/>
+0
這適用於一個組件,但我想更改一個變量,它應該會影響所有組件。根據您的建議,我將此屬性添加到父組件,並且每當DisplayMode發生更改時,都將使用正確的顯示模式重繪所有子項。 它的工作原理,但我希望我不會這樣做。 – Markus
0
我認爲Strategy Pattern可以幫助你在這裏。定義一個具有公共首選項的抽象基類,並定義從其派生的多個具體類。每個具體的類將定義一些策略(也可以是override
),例如邊框或無邊框,顏色,主題等,您可以在視圖中使用它們。如果您使用其運行時類型將爲具體類之一的基類引用來訪問首選項,則可以在運行時更改首選項。
相關問題
- 1. 設置綁定到WPF用戶控件中的自定義DependencyProperty
- 2. WPF - 自定義設計音量控制
- 3. WPF的自定義設計時屬性
- 4. 設計和自定義Rails用戶URL
- 5. c# - 如何爲wpf設計器設置自定義控件的默認值?
- 6. 在wpf中設置自定義用戶控件
- 7. WPF:自定義區域設置
- 8. 自定義類型並使用設置設計器與持續用戶設置一起使用
- 9. 用CSS設計自定義
- 10. DataTemplate中的自定義DataType中斷WPF設計器
- 11. 設計自定義控制器用戶舊視圖
- 12. 如何設計自定義微調器
- 13. Visual Studio自定義XAML設計器
- 14. 創建自定義設計器
- 15. Visual Studio 2008 - 自定義XML設計器
- 16. 自定義設計控制器
- 17. jquery驗證器 - 自定義設計
- 18. WPF自定義控件屬性設置器
- 19. 爲自定義屬性設置觸發器WPF
- 20. 設計 - 自定義視圖
- 21. 自定義wp_list_comments設計
- 22. 自定義設計sign_up
- 23. Android ActionBar自定義設計
- 24. 自定義設計Cookie
- 25. 設計註冊自定義
- 26. 自定義設計路線
- 27. 自定義current_user設計+ Mongoid
- 28. 自定義OpenLayers設計
- 29. 自定義設計方法
- 30. ExpandableListView自定義設計
你有沒有嘗試呢?你有任何代碼嗎? –