2016-05-04 20 views
0

以下のようなバインディングを含むUserControlがあります。ユーザーコントロールがウィンドウ内で更新されない(WPF)

<TextBox Margin="5" Padding="0" IsReadOnly="True" Background="Transparent" BorderThickness="0" TextWrapping="Wrap" IsTabStop="False" FontSize="{DynamicResource TitleFontSize}" Text="{Binding ErrorTitle, Mode=OneWay}" /> 

それはGenericErrorControlの名前とスタックパネルによって結合し、結合され

<Visibility="{Binding IsShown, Mode=OneWay, Converter={StaticResource BoolToVis}, FallbackValue=Collapsed}"> 

などの制御を超えているとして以下のビューのいずれかに添加されます。

<views:GenericErrorControl Grid.Row="8" DataContext="{Binding GenericErrorControl, Mode=OneWay}" VerticalAlignment="Top/> 

問題は、後でユーザーコントロールが表示されないことです。オブジェクトを作成している私のビューモデルでは、IsShownの値を設定していますが、その値は表示されません。他の詳細が必要な場合は、お手数をおかけしてお知らせください。

+3

これはあまり明確ではありません。何の後? xaml全体を提供できますか? – mhttk

+0

私たちがあなたを支援できるよう、xamlとコードを共有してください。 – ViVi

+0

ゲームはxamlを推測すると呼ばれます...? – Muds

答えて

0

これは、バインディングが失敗していることを意味します。つまり、上記のコードからフォールバック値が使用されています。

観光情報:

  1. は、あなたのViewModelは基本クラスBindableBaseすなわち、それは何らかの形でインターフェイスをINotifyPropertyChangedのとプロパティの変更に、イベントが起動されて、PropertyChanged実装を継承していることを確認してください。

  2. つまり、あなたのビューモデルにはこれと似たものがあります。

    private bool _IsShown; public bool IsShown { get {return _IsShown; } set {SetProperty(ref _IsShown、value);} } }

  3. ここでコンバーターまたはポストコードをダブルチェックしてください。

関連する問題