如何改变两个按钮颜色在一个StackPanel
我有一个StackPanel两个按钮,我想改变一个人的背景和其他的前景,以相同的颜色。如何改变两个按钮颜色在一个StackPanel
我在XAML中尝试这个。
<StackPanel Style="{DynamicResource LeftStackPanel}"
MouseEnter="StackPanel_MouseEnter"
MouseLeave="StackPanel_MouseLeave"
>
<Button
x:Name="profile_rct"
HorizontalAlignment="Center"
Height="70"
VerticalAlignment="Center"
Width="7"
Background="{Binding
Path=BackgroundBtn,
Mode=OneWay}"
BorderThickness="1,1,1,1"
BorderBrush="DimGray" />
<Button
x:Name="profile_txt"
Content="Profil Bilgisi"
Style="{DynamicResource LeftButton}"
Foreground="{Binding
Path=BackgroundBtn,
Mode=OneWay}">
<Button.LayoutTransform>
<RotateTransform Angle="90" />
</Button.LayoutTransform>
</Button>
</StackPanel>
LeftStackPanel
它只有位置参数,所以我不认为这很重要。在profile_rct
我将背景绑定到BackgroundBtn
和profile_txt
我将同一个变量绑定到前景。在LeftButton
风格,没有价值的前景。
在代码在这里是StackPanel_MouseEnter
和BackgroundBtn
代码。
#region ViewModelProperty private Brush backgroundbtn;
public Brush Backgroundbtn
{
get
{
return backgroundbtn;
}
set
{
backgroundbtn = value;
OnPropertyChanged("Backgroundbtn");
}
}
private void OnPropertyChanged(string v)
{
//throw new NotImplementedException();
}
#endregion
private void StackPanel_MouseEnter(object sender, MouseEventArgs e) {
Backgroundbtn = Brushes.CadetBlue;
}
有两个问题在这里,虽然我写的事件上的StackPanel,项目的颜色只有当我指出来,只有尖锐物体的颜色变化而变化。我想改变两个项目的颜色。
二是它不会改变profile_txt但背景的前景。我不明白这一点。
回答:
在WPF了解绑定:http://www.cheat-sheets.org/saved-copy/WpfBinding.pdf 你的情况:
Background="{Binding ElementName=BackgroundBtn, Path=Background, Mode=OneWay}"
回答:
脱颖而出的第一件事是万一区别:BackgroundBtn
不是在您的视图模型的属性,但Backgroundbtn
是。
是这个问题?
以上是 如何改变两个按钮颜色在一个StackPanel 的全部内容, 来源链接: utcz.com/qa/266791.html