0
A
回答
0
有幾種可能的解決方案。
首先,你可以訂閱一個變化處理程序控件的屬性Style
如果想在你的C#代碼某處通知:
DependencyPropertyDescriptor.FromProperty(Button.StyleProperty, typeof(Button))
.AddValueChanged(btn, (s, e) =>
{
// Style has changed.
});
(不要忘了打電話.RemoveValueChanged()
大功告成了。 )
另一種方法是創建一個Binding
,其源路徑設置爲您的控件的Style
。綁定目標例如可以是某種自定義控件或您想要對更改作出反應的ViewModel。或者,如果您沒有任何可用的資源,則可以將綁定目標設置爲Tag
屬性,並使用ValueConverter
來攔截使用類似Tag="{Binding Style, ElementName=btn, Converter={StaticResource MyStyleInterceptor}}"
之類的更改。
如果您不想濫用Tag
,您也可以爲此創建自定義附加屬性。
相關問題
- 1. WPF - 脫節的控制需要溝通
- 2. 通知收件箱樣式
- 3. WPF,多種控件的字體樣式
- 4. 禁用控件的DataGridTemplateColumn樣式WPF
- 5. 需要一個WPF控件建議
- 6. WPF窗口和控件樣式
- 7. 將控件添加到樣式wpf
- 8. 用戶控件按鈕 - 樣式 - WPF
- 9. Metro選項卡控件樣式WPF
- 10. wpf用戶控件阻止樣式
- 11. 我需要這樣的Wpf樹視圖
- 12. ckeditor的通知樣式
- 13. 需要顯示Toastr通知jQuery插件
- 14. PHP IF條件通知需要
- 15. WPF - 在另一個控件中隱式地控制樣式
- 16. 需要幫助覆蓋WPF按鈕樣式的背景顏色。
- 17. WL.Server.notifyAllDevices需要在通知
- 18. UILocalNotification - 需要提醒/通知
- 19. 需要發送通知
- 20. 需要推送通知
- 21. webpack2動態樣式文件需要
- 22. 需要控制窗口的WPF應用
- 23. 需要CSS3按鈕樣式
- 24. CSS樣式幫助需要
- 25. 發球需要CSS樣式
- 26. 需要驗證html樣式
- 27. ios5通知提醒樣式
- 28. Rails 3 Flash通知樣式
- 29. 在WPF中設置自定義控件的隱式樣式
- 30. WPF自定義控件中模板部件的樣式
你是什麼意思的「當風格改變」?因爲您不能動態更新控件的樣式。您可以根據觸發器更新某些屬性,但不能將新樣式重新分配給控件。 –
可能[OnApplyTemplate](https://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.onapplytemplate(v = vs.110).aspx)是您需要的。每次設置樣式時都會調用該控件的該方法。 – gomi42
@Evangelink您可以更改任何WPF控件的'Style' [儘可能多次](https://msdn.microsoft.com/en-us/library/ms745683(v = vs.110).aspx)在你的XAML或C#代碼中。 – haindl