rollnumber
とname
を含む2つのテキストボックスがあり、ListBoxに含まれています。クリックするたびにテキストボックス内にデータが追加されるボタンがあります。ボタンでテキストボックスの背景色を更新する方法wpfで
私が達成したいのは、ボタンをクリックしたときに、両方のテキストボックスの背景色を緑色に変更する必要があることです。 (このボタンをクリックするたびに、テキストボックスの両方にテキストを追加する新しい行があることを忘れないでください)。
トリガーを使用しようとしましたが、まだ作成できませんでした。以下のコードは次のとおりです。
<Window.Resources>
<Style x:Key="buttonColorChange" TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding Click, ElementName=btnClick}" Value="true">
<Setter Property="Background" Value="Green"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<ListBox Name="empLB" ItemsSource="{Binding Path=emp}" Height="100" Width="300" VerticalAlignment="Top">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel Width="300" >
<TextBox Name="txt2" Text="{Binding Path= RollNo}"></TextBox>
<TextBox Name="txt1" Text="{Binding Path=Name}"></TextBox>
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Button Style="{StaticResource buttonColorChange}" Name="btnClick" Height="20" Width="100" Content="click On me" Command="{Binding BtnClick}" ></Button>
</Grid>
緑のボタンをクリックしたときに、テキストボックスの色を変更する方法は?
EAS文字列変数に背景色をバインドし、ボタンをクリックして背景色を変更するだけです。 'string color =" Green "' – FakeCaleb
ボタンにはClickプロパティが含まれていないので、そのスタイル内のバインディングは効果を持ちません。それとは別に、テキストボックスの背景を変更する場合は、スタイルをテキストボックスに割り当て、ボタンは割り当てないようにしてください。上記と同様に、あなたのビューモデル内にプロパティを持ち、それをテキストボックスから直接バインドします。そのプロパティはあなたのリストの一部ではないので、ここではrelativesourceバインディングを使う必要があります。 – adminSoftDK