Silverlight元素屬性綁定


在silverlight的某個頁面中,如果你想讓控件A的寬度總是隨着控件B的寬度變化,應該怎么辦呢,答案就是元素屬性綁定.

 

以下內容來自於http://silverlightchina.net/html/tips/2011/1225/12806.html

View Code
 1     <Grid x:Name="ContentPanel" Grid.Row="1"      Margin="12,0,12,0">
 2         <Grid.RowDefinitions>
 3             <RowDefinition Height="*" /> 
 4             <RowDefinition Height="*" /> 
 5             <RowDefinition Height="*" /> 
 6         </Grid.RowDefinitions> 
 7         <Slider Name="slider"  
 8                 Value="90"                     
 9                 Grid.Row="0"                    
10                 Maximum="180"                     
11                 Margin="24" /> 
12         <TextBlock Name="txtblk"                       
13                    Text="{Binding ElementName=slider, Path=Value}"
14                    Grid.Row="1"
15                    FontSize="48"
16                    HorizontalAlignment="Center"
17                    VerticalAlignment="Center" />

注意上述代碼中的TextBock的屬性Text綁定代碼,我們也可以用一下形式精簡:Text=”{Binding Value,ElementName=slider}”。

  另外還可以用下述另類的代碼:Text=“{Binding ElementName=ContentPanel,Path=Children[0],Value}”。

  值得注意的是可以不用該綁定語法,用屬性元素語法也能辦到:

View Code
1 <TextBlock Name="txtblk"  
2            Grid.Row="1" 
3            FontSize="48" 
4            HorizontalAlignment="Center" 
5            VerticalAlignment="Center" > 
6     <TextBlock.Text> 
7         <Binding ElementName="slider" Path="Value"></Binding> 
8     </TextBlock.Text> 
9 </TextBlock>

Silverlight數據綁定也可以用C#代碼,當然也是易忽視或用到少的方式,但也要引起重視地!

1               Binding binding = new Binding();
2               binding.ElementName = "slider";
3               binding.Path = new PropertyPath("Value");
4               //1.this.txtblk.SetBinding(TextBlock.TextProperty,binding);
5               //2.BindingOperations.SetBinding(this.txtblk,TextBlock.TextProperty,binding);

 

上述代碼將名為slider的Silder元素的屬性Value跟名為txtblk的TextBlock元素的屬性Text綁定在了一起.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM