五、標記拓展

標記拓展,是一種特殊的賦值方式。有一對大括號{ }ide

<StackPanel Background="LightSlateGray">
        <TextBox x:Name="textBox1" Text="{Binding ElementName=slider1,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
        <Slider x:Name="slider1" Margin="5" Minimum="0" Maximum="100"/>
</StackPanel>

TextBox的簡單寫法(Binding類的構造器自己能夠接收Path的參數,因此可省略)spa

<TextBox x:Name="textBox1" Text="{Binding Value, ElementName=slider1,UpdateSourceTrigger=PropertyChanged}" Margin="5"/>

Model——控制Binding數據流向,值有TwoWay、OneWay、OneTime、OneWayToSource和Default。Default會根據目標實際狀況來肯定,若是是能夠編輯的(TextBox的Text屬性),Default就採用雙向模式。若是是不可編輯(TextBlock),就使用單向模式。code

UpdateSourceTrigger——數據更新,值有PropertyChanged、LostFous、Explicit和Default。PropertyChanged使Slider隨輸入值的變化而變化。blog

Path——路徑,衆多屬性值中指定Binding關注的屬性值ci

Binding類可讓控件之間關聯起來,下圖slider1與textBox1相互影響,textBox2識別textBox1字符串長度。字符串

 標記拓展類的類名都是以Extension爲後綴,只不過能夠省略不寫,如Text="{x:Static ...}"與Text="{x:StaticExtension ...}"等價it

相關文章
相關標籤/搜索