私がすることは、このようなものを持っているだけです
<StackPanle>
<Checkbox Visibility={Binding SomeProperty} IsChecked={Binding SomethingElse}/>
<Label Content={Binding SomeOtherProperty}/>
</StackPanel>
ボタンをクリックして、SomeProperty を から に切り替えるだけVisibility.Visible
ですVisibility.Collapsed
。SomethingElse
いずれかのアイテムのプロパティがチェックされている場合はDelete
、 、Move
、などの他のボタンを有効にするだけです。Foo
編集:実行時に可視性を変更できなかった理由はわかりません。ビューモデルの可視性プロパティを変更する基準を明確に定義してください。
下部のアイコンを変更するには、次のようにする必要があります
public partial class YourView
{
private ApplicationBarIconButton _icon;
public YourView()
{
_icon = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
}
public void Foo()
{
if (SomeSavedState)
{
_icon.IconUri = new Uri("somePicture.png", UriKind.Relative);
_icon.Text = "Delete";
}
else
{
_icon.IconUri = new Uri("someOtherPicture.png", UriKind.Relative);
_icon.Text = "Select";
}
}
}