有工作了一下,由於我現在用的答案在DataContext:綁定的用戶控件
public PopupProgramazione Popup
{
get { return _Popup; }
set
{
_Popup = value;
RaisePropertyChanged("Popup");
}
}
public void Programmazione(InterventoSchedeConsuntivi intervento)
{
Popup.Show = true;
InterventoPopupProgramazione = intervento;
}
奇怪的問題自帶的XAML:
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); }
}
}
在我的視圖模型
:
<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>
如果我只有可見性設置它運作良好,我可以看到我通過轉換器使用debu G。
如果兩者都有,則不彈出彈出窗口的初始化(彈出窗口顯示,而Popup.Show = false)。但是如果我關閉彈出:
private void Close_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
this.Visibility = Visibility.Collapsed;
}
,然後路過我的函數打開它,它的工作原理,但沒有通過轉換器傳遞。
有人能解釋我發生了什麼嗎?
[編輯] 而不是具體綁定我的usercontrol到一個專用的對象,我使用主xaml的datacontext,然後它完美的工作。 [/編輯]
thx爲你提供幫助約翰,我從Silverlight開始,現在我在綁定中有點失落... – Arthis
除了我用你告訴我的內容重寫了所有內容之外,我已經重寫了整個問題。同樣的問題,但代碼已經演變...千謝謝你! – Arthis