Немного поработав, и благодаря ответу я сейчас использую:
public class PopupProgramazione : DependencyObject
{
public static readonly DependencyProperty ShowProperty = DependencyProperty.Register("FirstNo", typeof(bool), typeof(PopupProgramazione), null);
public bool Show
{
get { return (bool)GetValue(ShowProperty); }
set { SetValue(ShowProperty, value); }
}
}
на мой взгляд Модель:
public PopupProgramazione Popup
{
get { return _Popup; }
set
{
_Popup = value;
RaisePropertyChanged("Popup");
}
}
public void Programmazione(InterventoSchedeConsuntivi intervento)
{
Popup.Show = true;
InterventoPopupProgramazione = intervento;
}
странная проблема возникает с xaml:
<local:PopupProgrammazione
x:Name="popupProg"
Height="300"
Width="400"
Canvas.ZIndex="2"
Canvas.Left="150"
Canvas.Top="150" Grid.RowSpan="4" Grid.Column="2" Margin="7,4,12,296"
Visibility="{Binding Path=Popup.Show, Mode=TwoWay, Converter={StaticResource BoolToVisibilityConverter}}"
DataContext="{Binding Path=InterventoPopupProgramazione}"
>
</local:PopupProgrammazione>
Если у меня установлен только видимость, он работает хорошо, и я вижу, что я выполняю конвертер с помощью отладки.
Если есть оба, то инициализация всплывающего окна не производится (всплывающее окно отображается, тогда как Popup.Show = false). Но если я закрою всплывающее окно:
private void Close_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
this.Visibility = Visibility.Collapsed;
}
и затем пройдите мимо моей функции, чтобы открыть ее, она работает, но без прохождения через конвертер.
Может ли кто-нибудь объяснить мне, что там происходит?
[EDIT]
Вместо того, чтобы специально привязывать мой usercontrol к выделенному объекту, я использую datacontext основного xaml, и тогда он работает отлично.
[/ EDIT]