私はxamlコードで2つのボタンのVisiblityをバインドしています。再生/一時停止ボタンを使用しようとしています。再生ボタンをクリックしてから一時停止ボタンを表示し、これが最善の方法であるかどうかは完全にはわかりませんが、うーん、もしうまくいくなら、私たちは良いです!ここXAML可視性バインディングが動作しない
:ここ
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid Width="50" Height="50" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button x:Name="PlayButton" Style="{DynamicResource MetroCircleButtonStyle}" Visibility="{Binding PlayButtonVisibility}"
Width="50" Height="50" HorizontalAlignment="Center"
VerticalAlignment="Center" Click="OnPlayButtonClicked"
d:DataContext="{d:DesignInstance local:MainWindow}">
<Rectangle Width="20"
Height="20">
<Rectangle.Fill>
<VisualBrush Stretch="Fill"
Visual="{StaticResource appbar_control_play}" />
</Rectangle.Fill>
</Rectangle>
</Button>
<Button x:Name="PauseButton" Style="{DynamicResource MetroCircleButtonStyle}" Visibility="{Binding PauseButtonVisibility}"
Width="50" Height="50" HorizontalAlignment="Center"
VerticalAlignment="Center" Click="OnPauseButtonClicked"
d:DataContext="{d:DesignInstance local:MainWindow}">
<Rectangle Width="20"
Height="20">
<Rectangle.Fill>
<VisualBrush Stretch="Fill"
Visual="{StaticResource appbar_control_pause}" />
</Rectangle.Fill>
</Rectangle>
</Button>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
C#コード:
private Visibility _playButtonVisiblity;
private Visibility _pauseButtonVisiblity = Visibility.Hidden;
public Visibility PlayButtonVisibility
{
get
{
return _playButtonVisiblity;
}
set { _playButtonVisiblity = value;
NotifyPropertyChanged("playButton");
}
}
public Visibility PauseButtonVisibility
{
get
{
return _pauseButtonVisiblity;
}
set
{
_pauseButtonVisiblity = value;
NotifyPropertyChanged("pauseButton");
}
}
が、何らかの理由または別のために、私はコードを使用して可視性を変更しようと毎回、それは、影響を与えないアイデアを取りません。なぜこれが今までのすべてのことが正しいと考えているのかについて。
あなたが既に持っている回答に加えて、ちょうどいいことを指摘したいと思います。あなたはスタイルトグルボタンで探している行動を得るかもしれません。 – Spongebrot