Binding.Source Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri vagy beállítja a kötés forrásaként használni kívánt objektumot.
public:
property System::Object ^ Source { System::Object ^ get(); void set(System::Object ^ value); };
public object Source { get; set; }
member this.Source : obj with get, set
Public Property Source As Object
Tulajdonság értéke
A kötés forrásaként használni kívánt objektum.
Példák
Az alábbi példa a Person névtérben PersonName definiált sztringtulajdonságú SDKSample objektumot használja, ahogyan az első kiemelt sor mutatja. Az elemet tartalmazó <src> kiemelt sorban az objektumot a következő tulajdonságértékkel PersonPersonNamepéldányosítjaJoe: . Ez a szakaszban történik Resources , és hozzárendel egy x:Key.
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:src="clr-namespace:SDKSample"
SizeToContent="WidthAndHeight"
Title="Simple Data Binding Sample">
<Window.Resources>
<src:Person x:Key="myDataSource" PersonName="Joe"/>
<Style TargetType="{x:Type Label}">
<Setter Property="DockPanel.Dock" Value="Top"/>
<Setter Property="FontSize" Value="12"/>
</Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="25"/>
<Setter Property="DockPanel.Dock" Value="Top"/>
</Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="25"/>
<Setter Property="DockPanel.Dock" Value="Top"/>
<Setter Property="Padding" Value="3"/>
</Style>
</Window.Resources>
<Border Margin="5" BorderBrush="Aqua" BorderThickness="1" Padding="8" CornerRadius="3">
<DockPanel Width="200" Height="100" Margin="35">
<Label>Enter a Name:</Label>
<TextBox>
<TextBox.Text>
<Binding Source="{StaticResource myDataSource}" Path="PersonName"
UpdateSourceTrigger="PropertyChanged"/>
</TextBox.Text>
</TextBox>
<Label>The name you entered:</Label>
<TextBlock Text="{Binding Source={StaticResource myDataSource}, Path=PersonName}"/>
</DockPanel>
</Border>
</Window>
Az elemeket tartalmazó <TextBlock> kiemelt vonal bemutatja, hogyan kell kapcsolódni a PersonName tulajdonsághoz. Ennek eredményeként a vezérlő " TextBlock Joe" értékkel jelenik meg.
Az alábbi példában az Source objektumok értékei a Bindingstatic tulajdonságra Application.Currentvannak állítva:
<ComboBox.IsEnabled>
<MultiBinding Converter="{StaticResource specialFeaturesConverter}">
<Binding Path="CurrentUser.Rating"
Source="{x:Static Application.Current}"/>
<Binding Path="CurrentUser.MemberSince"
Source="{x:Static Application.Current}"/>
</MultiBinding>
</ComboBox.IsEnabled>
Megjegyzések
Alapértelmezés szerint a kötések öröklik a tulajdonság által DataContext megadott adatkörnyezetet, ha be van állítva. A tulajdonság azonban az egyik módja annak, Source hogy explicit módon beállítsa a forrást Binding , és felülbírálja az örökölt adatkörnyezetet. Ha nincs szüksége olyan hatókör létrehozására, amelyben több tulajdonság örökli ugyanazt az adatkörnyezetet, a tulajdonság helyett használhatja a SourceDataContext tulajdonságot.
A Binding.ElementName tulajdonságok lehetővé Binding.RelativeSource teszik a kötés forrásának explicit beállítását is. Az egyes kötésekhez azonban csak a három tulajdonság ElementNameSourceRelativeSourceegyikét kell beállítani, vagy ütközés léphet fel. Ez a tulajdonság kivételt eredményez, ha kötési forrásütközés van.
A tulajdonság törléséhez állítsa be a következőre DependencyProperty.UnsetValue: .
XAML-attribútumok használata
<object Source="object"/>
XAML-értékek
Objektum Egy meglévő objektum. Meglévő objektumra való hivatkozáshoz használja a StaticResource Korrektúra bővítményt