#author("2022-06-03T10:43:39+08:00","default:Admin","Admin")
[[WPF]]

バインディング方式
#contents

* バインディング方式 [#l9f24227]

- OneWay~
 バインディング・ソースのデータ(=プロパティ値)が変更されると、バインディング・ターゲットのデータ(=プロパティ値)を更新 
- OneTime~
 アプリケーションの起動時にのみ、バインディング・ターゲットのデータを更新 
- TwoWay~
 バインディング・ソースまたはバインディング・ターゲットのどちらか一方のデータが変更されると、もう一方も自動的に更新

** 绑定表达式 [#n49d106c]

使用 xaml 标记拓展(也就是用{}语法)

#codeprettify{{
<TextBox x:Name="sourceTBox" />
<TextBlock x:Name="tb" Text="{Binding ElementName=sourceTBox,Path=Text}" />
可简化为
<TextBlock x:Name="tb" Text="{Binding Text,ElementName=sourceTBox}" />
}}

绑定到 Canvas 要素的坐标,需要使用括号

#codeprettify{{
<Line X1="{Binding ElementName=sourceTBox, Path=(Canvas.Left)}" 
              Y1="{Binding ElementName=item1, Path=(Canvas.Top)}"  
              X2="{Binding ElementName=item2, Path=(Canvas.Left)}"
              Y2="{Binding ElementName=item2, Path=(Canvas.Top)}" 
               />
}}

绑定到 Margin 要素的坐标,可以不适用括号

#codeprettify{{
<Line X1="{Binding ElementName=sourceTBox, Path=Margin.Left}" 
              Y1="{Binding ElementName=item1, Path=Margin.Top}"  
              X2="{Binding ElementName=item2, Path=Margin.Left}"
              Y2="{Binding ElementName=item2, Path=Margin.Top}" 
}}


#hr();
コメント:

#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS