WPF资源-共享
本文关键字:共享 资源 WPF | 更新日期: 2023-09-27 18:28:37
据我所知,按钮不会创建新实例,而是使用共享资源。为什么按钮的背景是蓝色而不是红色?
XAML:
<StackPanel Name="st">
<Button Margin="50" Name="btn" Height="50">Click</Button>
</StackPanel>
代码背后:
st.Resources.Add("Back", Brushes.Blue);
btn.Background = (Brush)btn.TryFindResource("Back");
st.Resources["Back"] = Brushes.Red;
一旦设置了Background
,这只是一种快照。之后更改资源不会更改Background
。您必须使用SetResourceReference
方法来使用某种设置资源引用,如下所示:
st.Resources.Add("Back", Brushes.Blue);
btn.SetResourceReference(Control.BackgroundProperty, "Back");
st.Resources["Back"] = Brushes.Red;