|
分類:[VB.NET/VB2005 以降]
標記の件について悩んでおります。 お力を貸していただければ幸いです。
[環境] VisualStudio 2010 (VB・WPF)
[内容] A、Bという2つのユーザーコントロールを作成し実行します。
--ユーザーコントロールのコード--------------------------------------------------------------------- <Category("Test"), Description("Test用です")> Public Property Text As Integer Get Return DirectCast(GetValue(TextProperty), Integer) End Get Set(value As Integer) SetValue(TextProperty, value) End Set End Property
Public Shared ReadOnly TextProperty = DependencyProperty.Register("Text", GetType(Integer), GetType(UserCon))
※ユーザーコントロールのXAMLにはなにもしていません。 ---------------------------------------------------------------------------
--WindowのXAML--------------------------------------------------------------------- <UserCon Name="A" /> <UserCon Name="B" Text="{Binding ElementName=A,Path=Text,Mode=OneWay}" />
※Windowのコードにはなにもしていません。 ---------------------------------------------------------------------------
操作1:AのTextプロパティを変更→BのTextプロパティも変更される。 操作2:BのTextプロパティを変更→AのTextプロパティは変わらない。 操作3:AのTextプロパティを変更→BのTextプロパティは変わらない。(←なぜ?)
[自力調査] ・ユーザーコントロールを既存のTextBoxやComboBoxに変更 操作3でも操作1と同じ動作でした。 ・バインドのModeをOneWayToSourceに変更 操作3でも操作1と同じ動作でした。(A、Bは逆転しますが) ・バインドのModeをTwoWayに変更 操作3でも操作1と同じ動作でした。
教えていただければ助かります。
|