1

ソースから読み取った Text プロパティをバインドするにはどうすればよいTextBoxですか?その値は別のターゲットに格納されますか? パスに結合されたテキストボックスがあるとしましょうCollectionViewSource

<Window>
   <Window.Resources>
      <CollectionViewSource Source="{Binding Source={StaticResource ProgramView}, Path='FK_LevelList_ProgramList'}" x:Key="LevelLookupView" />
   </Window.Resources>

   <TextBox Name="FeePerTermTextbox" Text="{Binding Source={StaticResource LevelLookupView}, Path='FeePerTerm', Mode=OneWay, StringFormat=c2}"/>   
</Window>

保存を行うと、 の値は、TextBoxとは異なる別のモデルに保存されます。CollectionViewSource

ありがとう

4

1 に答える 1

0

これには欠陥があると思います。ソースが更新されるとどうなりますか? テキストボックスを上書きする必要がありますか? この設計の理由は、UIがDataContextとして設定された要素の「特性」を反映する必要があるため、モデルまたはUIで指定した値が含まれていることを期待しています。もちろん、テキストボックスから設定値を受け取るときに、ビューモデルの値をモデルに書き込まないことを妨げるものは何もありません。

public class Redirecter
{
    public string FileName
    {
        get{return mModel.FileName;}
        set{mProxy.FileName = value;}
    }
}

しかしもちろん、これは INotifyPropertyChanged と一緒にはうまく機能しません。私は別のアプローチを使用します。あなたのUIをより反映したモデルを使用してください。ビューを開くと、この ui モデルにモデル A の設定が入力されます。これを保存する場合は、各プロパティをモデル B に保存します。

于 2013-03-21T12:14:22.857 に答える