2017-12-27 25 views
0

スタックパネルに2つのボタンがあり、背景と他の前景を同じ色に変更したいとします。スタックパネルの2つのボタンの色を変更する方法

私はこれを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_MouseEnterBackgroundBtnコードです。二つの問題は、私は、私はそれらを指すだけ尖ったアイテムの色が変化している時にアイテムの色のみを変更し、のStackPanelにイベントを記述していても、ここにあり


private void StackPanel_MouseEnter(object sender, MouseEventArgs e) 
    { 
     Backgroundbtn = Brushes.CadetBlue; 
    } 

#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 

です。私は両方の項目の色を変更したいと思います。

第2に、profile_txtの前景を変更するのではなく、背景を変更します。私はそれを理解していませんでした。

答えて

0

を際立っている最初のものは、ケースの違いです:BackgroundBtnはあなたのViewModelのプロパティではありませんが、Backgroundbtnです。

それは問題ですか?

関連する問題