У меня есть приложение, в котором у меня есть главное окно и одно диалоговое окно.В моем главном окне у меня есть список объектов с двумя свойствами: Имя и Тип.Мое диалоговое окно используется для добавления новых элементов в список.Я создал диалоговое окно как UserControl и использую его как WindowContent для своего диалогового окна.Я открываю диалог с помощью команды, прикрепленной к кнопке.Если результат диалогового окна возвращает истину, то я хотел бы добавить новый элемент в список.Это делается с помощью команды с параметром, а параметр команды создается с помощью многозначного преобразователя.Вот вопрос:
Как получить доступ к свойствам, созданным в usercontrol, в моем конвертере.
MainWindow.xaml
<vu:CustomContentDialogBox x:Name="AddCriterionDialogBox" Caption="Add criterion" WindowWidth="400"
WindowHeight="150" CommandTrue="{Binding Path=CriteriaViewModel.AddCriterionCommand}">
<vu:CustomContentDialogBox.CommandParameter>
<MultiBinding Converter="{StaticResource criterionConverter}">
<Binding Path="Name" />
<Binding Path="Type" />
</MultiBinding>
</vu:CustomContentDialogBox.CommandParameter>
<vu:CustomContentDialogBox.WindowContent>
<uc:AddCriterionUserControl />
</vu:CustomContentDialogBox.WindowContent>
</vu:CustomContentDialogBox>
<Button ToolBar.OverflowMode="Never" Style="{DynamicResource btn_Remove_png}"
Command="{Binding ElementName=AddCriterionDialogBox, Path=ShowCommand}" />
AddCriterionUserControl.xaml
<Grid>
<TextBox Name="tbName" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Stretch"
VerticalAlignment="Center" Margin="0,0,10,0" />
<ComboBox Name="cbCriterionType" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch"
VerticalAlignment="Center" Margin="0,0,10,0" >
<ComboBoxItem Content="Gain" IsSelected="True" />
<ComboBoxItem Content="Cost" />
</ComboBox>
<Button Grid.Column="1" Grid.Row="3" VerticalAlignment="Center" HorizontalAlignment="Right" Width="60" Height="24" Margin="0,0,10,7"
Content="Add" vu:CustomContentDialogBox.CustomContentDialogResult="True"/>
</Grid>
Мне нужно получить доступ к значениям tbName
и cbCriterionType
из usercontrol в моем конвертере, чтобы иметь возможность создать новый объект с помощью команды CriteriaViewModel.AddCriterionCommand
.Должен ли я использовать DependencyProperty?Я стараюсь следовать правилам MVVM.