2017-09-06 10 views
2

"Windows Template Studio"を使用してマスターディテールプロジェクトを学習して作成しています。UWPマスターディテールを使用して詳細項目を変更

ここで、詳細を変更して、マスターに表示された変更が必要です。 以下のように enter image description here

しかし、私はどのように知られていませんか? サンプルコードをGitHubにアップロードしました。 https://github.com/hupo376787/App2

誰でもサンプルコードを変更できますか、ありがとうございます!マスタービューにバインドされている

+0

@ジャスティンXL助けてください – Vincent

答えて

2

を実装する必要がありますCompanyプロパティが変更された場合は、次の変更を行う必要があります。

  1. x:BindのデフォルトモードがOneTimeであるため、の値が設定されていると、それは決して更新されないので、Mode=OneWayMasterDetailPage に追加してください。

    <TextBlock Grid.Row="1" 
          Text="{x:Bind Company, Mode=OneWay}" 
          Style="{StaticResource ListSubTitleStyle}" /> 
    
  2. あなたOrderクラスは、それ以外の変更は、UIに作ることは決してありませんINotifyPropertyChanged を実装する必要があります。あなたのTextBox

    public class Order: INotifyPropertyChanged 
    { 
        private string _company; 
    
        public string Company 
        { 
         get => _company; 
         set 
         { 
          if (_company == value) return; 
    
          _company = value; 
          OnPropertyChanged(); 
         } 
        } 
    
        public event PropertyChangedEventHandler PropertyChanged; 
    
        [NotifyPropertyChangedInvocator] 
        protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) 
        { 
         PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); 
        } 
    } 
    
  3. あなたは は、すべてのキーダウンで更新をトリガしたい原因は、結合」で UpdateSourceTrigger=PropertyChangedが必要になります。残念ながらx:Bindでは がサポートされていないので、 伝統的なBindingを使用するように戻る必要があります。変更したら、 にはUserControlの名前(例:Self)を指定する必要がありますので、 ElementNameを使用して同じバインディング式( MasterMenuItem.Company)を見つけることができます。

    <UserControl x:Class="App2.Views.MasterDetailDetailControl" 
          ... 
          x:Name="Self"> 
    
    <TextBox Text="{Binding MasterMenuItem.Company, ElementName=Self, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
    

    />

今、あなたのアプリケーションを実行し、それがうまく動作するはずです。 :)

+0

ありがとう、ジャスティン。私は第一歩を忘れた...笑 – Vincent

0

Orderアイテムは、プロパティの変更のビューを通知する必要があるので、自動的にリストに会社フィールドを更新するためにINotifyPropertyChanged

Documentation

関連する問題