如何改变两个按钮颜色在一个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我将背景绑定到BackgroundBtnprofile_txt我将同一个变量绑定到前景。在LeftButton风格,没有价值的前景。

在代码在这里是StackPanel_MouseEnterBackgroundBtn代码。

#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

回到顶部