Я разработал UserControl для своего телефона Windows 8, который выглядит следующим образом.
<UserControl x:Class="SpinrWindowsMobile.UserControls.ProgressiveLongListSelector"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
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"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="480" d:DesignWidth="480">
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<phone:LongListSelector Grid.Row="0" Name="longlistselector">
</phone:LongListSelector>
<StackPanel Grid.Row="1">
<ProgressBar Name="listProress" IsIndeterminate="True"></ProgressBar>
<TextBlock Name="ProgressText" Text="Loading..."></TextBlock>
</StackPanel>
</Grid>
</UserControl>
Как вы можете видеть в приведенном выше xaml, я использовал LongListSelector и StackPanel внутри Grid Control. Я использую этот элемент управления в своем MainPage.xaml, который выглядит следующим образом.
<phone:PhoneApplicationPage
x:Class="SpinrWindowsMobile.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:UserControls="clr-namespace:SpinrWindowsMobile.UserControls"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<UserControls:ProgressiveLongListSelector>
</UserControls:ProgressiveLongListSelector>
</Grid>
</phone:PhoneApplicationPage>
До этого все в порядке, но я хочу сделать следующее.
<UserControls:ProgressiveLongListSelector>
<UserControls:ProgressiveLongListSelector.longlistselector
ItemsSource="Binding" ItemTemplate="{staticresource myTemplate}">
</UserControls:ProgressiveLongListSelector.longlistselector>
</UserControls:ProgressiveLongListSelector>
Как я могу получить доступ к селектору длинного списка, который является элементом/компонентом UserControl? Преимущество этого I can directly set the LongListSelector Properties in the xaml(in which i am embedding My usercontrol) itself
. Для меня такие вещи сегодня необходимы.
может ли кто-нибудь помочь мне, как это сделать?