ShowDialogを使用して表示しているウィンドウがあります。ユーザーから取得しようとしている値の1つは、GBまたはTB単位のサイズです。したがって、これには2つのコントロールがあります。WPFExtendedToolkitのIntegerUpDownとComboBoxです。
<xctk:IntegerUpDown Name="SizeN" Minimum="1" Maximum="1023" Increment="1" Value="100"/>
<ComboBox Name="SizeS" SelectedIndex="0">
<ComboBoxItem>GB</ComboBoxItem>
<ComboBoxItem>TB</ComboBoxItem>
</ComboBox>
ダイアログのDataContextをそれ自体に設定しています。Capacityプロパティを定義しました:
public ulong Capacity { get; set; }
public CustomWindow()
{
InitializeComponent();
DataContext = this;
}
私はすでにIMultiValueConverter、PowerConverterを作成しました。これは、intと文字列を受け取り、ulongを返します。正しいマルチバインディングは次のとおりです。
<Window.Resources>
<local:PowerConverter x:Key="CapacityConverter" />
</Window.Resources>
<MultiBinding Converter="{StaticResource CapacityConverter}">
<Binding ElementName="SizeN" Path="Value" />
<Binding ElementName="SizeS" Path="SelectedValue" />
</MultiBinding>
このバインディングをダイアログのCapacityプロパティに割り当てる方法がわかりません。WPFでCapacityプロパティを自動的に設定してほしい。何か案は?