私はWPFでバインディングを学んでいます。 1)コントロールのテキストが別のコントロールのテキストフィールドに直接移動し、2)コードビハインドファイルでバインドを手動で構成するときに、バインディングを取得できます。純粋にXAMLでバインディングを定義する場合、ソース変数はコードの背後でアクセスできますか?
最初のシナリオでは、純粋にXAMLを使用してバインドを構成します。コードビハインドファイルのXAMLからソース変数にアクセスできますか?
<Window x:Class="DataBindingExperiments.MainWindow"
...
xmlns:local="clr-namespace:DataBindingExperiments.DataSources">
<Window.Resources>
<local:Person x:Key="MyPerson" />
</Window.Resources>
<Grid>
<StackPanel Orientation="Vertical">
<GroupBox Header="XAML Binding" Width="Auto" Height="110" Margin="5,5,5,5">
<Grid>
...
<Grid.DataContext>
<Binding Source="{StaticResource MyPerson}" />
</Grid.DataContext>
<TextBox Grid.Row="0" Grid.Column="1" Name="textBox_firstName" Text="{Binding Path=FirstName, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Row="1" Grid.Column="1" Name="textBox_lastName" Text="{Binding Path=LastName, UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Grid.Row="2" Grid.Column="1" Name="textBox_fullName" Text="{Binding Source={StaticResource MyPerson}, Path=FullName}" />
</Grid>
...
...
上記のコードで、コードビハインドで「MyPerson」のインスタンスにアクセスするにはどうすればよいですか?
@Thomas::非常に巧妙な、私はのDataItemプロパティについては知りませんでした:) – Pwninstein
どちらも私はなかった;)私がつまずいたプロパティは、別のオブジェクトの
Name
プロパティにバインドされ、あなたがそのような何かを行うことができていますドキュメント上でBindingExpressionを見ているうちに... –@ThomasLevesque Silverlightの場合はどうすればいいですか?私は銀色のGetBindingExpressionを見つけることができません。 –