2016-04-16 10 views
0

こんにちは私はページ上の多くの場所で使用されている特定の色を持つxamlアプリケーションを持っています。私はプログラム的にこの色の値を変更したいと思います。私はすべてのオブジェクトの色を個別に更新する必要はありません。私はこれを試してみました:Xamlでは、SolidColorBrushの値をプログラムでどのように変更しますか?

<Grid 
    Background="{Binding GalleryViewBrush, Mode=TwoWay}" 
    Grid.Row="0" 
    Grid.Column="0"> 

を次に分離コードで:

公共ブラシGalleryViewBrushを{取得します。セット; }

GalleryViewBrush = new SolidColorBrush(Colors.Red);

しかし、色は決して働きません。私もxbind試みたが

+0

そして、Bindingから 'Mode = TwoWay'を削除してください。それは意味をなさない。 – Clemens

答えて

0

あなたのビューモデルが必要と運

おかげでPropertyChangedイベントあなたのブラシプロパティの変更を発射、その後INotifyPropertyChangedを実装していない、とします。従来、それは財産のセッターで行われています。

private Brush _myBrush; 
public MyBrush { 
    get { return _myBrush; } 
    set { 
     _myBrush = value; 
     PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MyBrush)); 
    } 
} 

あなたの質問でGalleryViewBrushのためのあなたの取得/設定は、あなたの質問にコードサンプルでは、​​実際に何であるならば、それは問題になりそうです。

上記のコードサンプルで、誤ったタイプミスがありました。私はATMを叩きました。

関連する問題