Я пытаюсь связать пользовательский контроль внутри списка, но кажется, что я делаю что-то неправильно, хотя я следовал How to bind data user control inside listbox WP8, но это не помогло.Как связать управление данными пользователя внутри списка
Вот что я делаю в пользовательском элементе управления
<Grid x:Name="LayoutRoot" Background="Transparent" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Image Source="Images/download.png" Width="30" Height="30" VerticalAlignment="Top" Grid.Column="0"/>
<ProgressBar Grid.Row="0" Grid.Column="1" x:Name="prg" VerticalAlignment="Top" />
<TextBlock x:Name="TextBlock" Foreground="Black" Text="{Binding Text}" Grid.Row="0" Grid.Column="2" VerticalAlignment="Top" FontSize="20" HorizontalAlignment="Left" />
</Grid>
и код позади для управления пользователем
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register(
"Text",
typeof(string),
typeof(SuraWithProgressBar),
new PropertyMetadata(null));
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value);}
}
Использование
<ListBox x:Name="lsbQuranData" Grid.Row="1" Foreground="Black" ScrollViewer.VerticalScrollBarVisibility="Visible">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<local:SuraWithProgressBar Text="{Binding SuraTName, ElementName=SuraWithProgressBar}"></local:SuraWithProgressBar>
<Line X1="0" X2="480" Y1="0" Y2="0" VerticalAlignment="Bottom" StrokeThickness="2" Stroke="Black" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
и код позади для использования
lsbQuranData.ItemsSource = App.Chapter;
Позвольте мне упомянуть, что «App.Chapter» содержит «SuraTName», привязанную к свойству Text элемента управления пользователя. Пользовательский элемент управления добавляется в список, но текст не отображается.
Когда вы добавляете конвертер, ваше значение не равно нулю? – MatDev8
Извините, я не понял, я не использовал Конвертер. (отображаются 114 элементов, а значение привязки никогда не равно нулю) – ARH
Если вы пишете что-либо вместо своей привязки. Например, «toto»? Что добавляется? – MatDev8