@Amirの回答に加えて、Visibilityをバインドすることでボタンの数を動的に制御できます。
<UniformGrid Rows="1">
<Button Content="Ok" Visiblity="{Binding IsShowOkayButton, Converter={...}"/>
<Button Content="Cancel" Visiblity="{Binding IsShowCancelButton, Converter={...}}"/>
</UniformGrid>
列挙型で使用: (ConfirmType と IsShowCancelButton が同じ ViewModel にあると仮定)
public enum ConfirmType { Confirm, ConfirmOrCancel }
public ConfirmType ConfirmType { get => _ConfirmType;
set {
switch (_ConfirmType)
{
case ConfirmType.Confirm:
IsShowCancelButton = false;
break;
case ConfirmType.ConfirmOrCancel:
IsShowCancelButton = true;
break;
}
// Your RaisePropertyChanged code here
}
}