私の値が静的このように、それを呼び出すXAMLで定義されている場合、正しく結合するカスタムUserControlの依存関係プロパティ:そこ私のカスタムUserControlの依存関係プロパティが動的バインドで機能しないのはなぜですか?
TextBoxText="{Binding ItemTypeIdCode}"
:値は動的自体バインドされ
TextBoxText="myName"
ではなく、場合私の完全なコードです。
カスタムユーザーコントロールのXAML:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="TestUserControl.UserControl1"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
x:Name="UserControl" Height="22" Width="282">
<Grid x:Name="LayoutRoot">
<TextBlock TextWrapping="Wrap" Text="{Binding MyName, ElementName=LayoutRoot}"/>
</Grid>
カスタムユーザーコントロールコード:私のメインウィンドウXAMLで
public static readonly DependencyProperty TextBoxTextProperty =DependencyProperty.Register("TextBoxText", typeof(string), typeof(UserControl1));
public string TextBoxText
{
get { return (string)GetValue(TextBoxTextProperty); }
set { SetValue(TextBoxTextProperty, value); }
}
:私のメインウィンドウコードで
<Grid x:Name="LayoutRoot">
<Button Content="Button" Height="78" Margin="0,0,93,112" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="94" Click="MyButtonClick"/>
<ListBox x:Name="MyListBox" HorizontalAlignment="Left" Margin="8,8,0,112" Width="192">
<ListBox.ItemTemplate>
<DataTemplate>
<local:UserControl1 HorizontalAlignment="Stretch" Margin="286,37,56,0" VerticalAlignment="Top" d:LayoutOverrides="Height" TextBoxText="{Binding MyName}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
:
このコードはListBoxItemとしてListBoxItemとして正常に追加されますが、問題は表示されません。バインドするテキストは表示されません。
私はどこで間違っているのか分かりません。
は、それはあなたが ' 'の代わりに、{Binding MyName、ElementName = LayoutRoot}" /> –
Tim
私はそれをしますが、私の仲間はうまく動作しません。 – Vero009
@ Vero009:みんなを "ブロー"と呼ぶべきではないと思うよ。... –