как проверить, установлен ли флажок в WPF Prism - PullRequest
1 голос
/ 07 января 2012

У меня есть UserControlButtons.Xaml в этом есть флажок и кнопка Сохранить.когда нажата кнопка сохранения, и если флажок установлен, откройте всплывающее окно. Сохранение всегда включено.

          <CheckBox x:Name="checkBox1" VerticalAlignment="Center"  Content="Add To Time Sheet" FontSize="14" Grid.Row="0" Grid.Column="2" Margin="2,2,2,2"
             IsChecked="{Binding ElementName=UserControlButtons, Path=UserControlButtonsBL .IsCheckedComplete,Mode=TwoWay}"

В UserControlButtonsViewModel DelegateCommand Save имеет CanSave и Save

В модуле BL естьUserControlButtonsBL здесь я объявил свойство для флажка

     private bool _isCheckedComplete;
     public bool IsCheckedComplete
     {
         get { return _isCheckedComplete; }
         set
         {
             _isCheckedComplete = value;

         }
     }

в коде позади, я добавил свойство зависимости

    public UserControlButtonsBL UserControlButtonsBL 
    {
        get
        {
            return (UserControlButtonsBL )GetValue(UserControlButtonsBLProperty);
        }
        set
        {
            SetValue(UserControlButtonsBLProperty, value);
        }
    } 

здесь, даже когда я установил флажок IsCheckedComplete, давая мне false

1 Ответ

1 голос
/ 07 января 2012

Здесь в флажке вы должны установить режим привязки двумя способами, а также установить триггер источника обновления на PropertyChanged

           <CheckBox x:Name="checkBox1" VerticalAlignment="Center"  Content="Add To Time Sheet" FontSize="14" Grid.Row="0" Grid.Column="2" Margin="2,2,2,2"
         IsChecked="{Binding ElementName=UserControlButtons, Path=UserControlButtonsBL .IsCheckedComplete,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"  

здесь я предполагаю, что вы правильно установили свой DataContext ....если вы установили флажок в UserControl, который имеет DataContext как myDataCntext, тогда путь привязки будет напрямую свойством, т.е. IsChecked

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...