の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を専用のオブジェクトにバインドするのではなく、main xamlのdatacontextを使用して、完全に動作します。 [/ EDIT]
あなたの助けを借りてジョン、私はシルバーライトから始まっていて、私は拘束力が失われています... – Arthis
私はあなたが私に言ったことをすべて書き直しました。私は全体の質問を書き直しました。同じ質問ですが、コードは進化しました...あなたに何千ものおかげで! – Arthis