Binding.Source Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bağlama kaynağı olarak kullanılacak nesneyi alır veya ayarlar.
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
Özellik Değeri
Bağlama kaynağı olarak kullanılacak nesne.
Örnekler
Aşağıdaki örnekte, ilk vurgulanan satırda gösterildiği gibi ad alanında SDKSample
tanımlanan adlı PersonName
dize özelliğine sahip bir nesne kullanılırPerson
. öğesini içeren vurgulanan satırda<src>
, nesnesinin bir özellik değeriyle PersonName
örneğini Person
Joe
oluşturur. Bu, bölümünde yapılır Resources
ve bir x:Key
atanır.
<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>
Öğeleri içeren <TextBlock>
vurgulanan çizgi özelliğine nasıl bağlanacağını PersonName
gösterir. Sonuç olarak, TextBlock denetim "Joe" değeriyle görüntülenir.
Aşağıdaki örnekte, Source nesnelerin değerleri Binding özelliğine static
Application.Currentayarlanır:
<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>
Tam örnek için bkz. Veri Bağlama Tanıtımı.
Açıklamalar
Varsayılan olarak bağlamalar, ayarlanmışsa özelliği tarafından belirtilen veri bağlamını DataContext
devralır. Ancak özelliği, Source bir kaynağını açıkça ayarlayıp devralınan veri bağlamını Binding geçersiz kılmanın yollarından biridir. Birden çok özelliğin aynı veri bağlamını devraldığı bir kapsam oluşturma işlevine ihtiyacınız yoksa, özelliği yerine DataContext
özelliğini kullanabilirsinizSource.
Binding.ElementName ve Binding.RelativeSource özellikleri bağlamanın kaynağını açıkça ayarlamanıza da olanak tanır. Ancak, her bağlama için , ve RelativeSourceüç özelliğinden SourceElementNameyalnızca biri ayarlanmalıdır veya çakışma oluşabilir. Bağlama kaynağı çakışması varsa bu özellik bir özel durum oluşturur.
Bu özelliği temizlemek için olarak ayarlayın DependencyProperty.UnsetValue.
XAML Öznitelik Kullanımı
<object Source="object"/>
XAML Değerleri
Nesne
Var olan bir nesne. Var olan bir nesneye başvurmak için StaticResource biçimlendirme uzantısını kullanın