summaryrefslogtreecommitdiff
path: root/Juick/MainPage.xaml
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2013-01-13 18:08:09 +0400
committerGravatar Vitaly Takmazov2013-01-13 18:08:09 +0400
commit0c5aac46b9cd725de31a70c00376567bb02af66b (patch)
tree03ea9ddbba54463702608c2850f3ac8180dd09f2 /Juick/MainPage.xaml
parent2eea9fd05421bbc32ff6e07d8bb34c7e3a8856bb (diff)
Replace buggy ListBox with ItemsControl+HyperlinkButton, fixes #6
Diffstat (limited to 'Juick/MainPage.xaml')
-rw-r--r--Juick/MainPage.xaml215
1 files changed, 109 insertions, 106 deletions
diff --git a/Juick/MainPage.xaml b/Juick/MainPage.xaml
index a06a305..bffd94f 100644
--- a/Juick/MainPage.xaml
+++ b/Juick/MainPage.xaml
@@ -15,26 +15,26 @@
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
phoneshell:SystemTray.IsVisible="True">
- <phone:PhoneApplicationPage.Resources>
- <ResourceDictionary>
- <bindings:RichTextConverter x:Key="inlineConverter" />
- </ResourceDictionary>
- </phone:PhoneApplicationPage.Resources>
-
+ <phone:PhoneApplicationPage.Resources>
+ <ResourceDictionary>
+ <bindings:RichTextConverter x:Key="inlineConverter" />
+ </ResourceDictionary>
+ </phone:PhoneApplicationPage.Resources>
+
<!--LayoutRoot is the root grid where all page content is placed-->
- <Grid x:Name="LayoutRoot" Background="Transparent">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
+ <Grid x:Name="LayoutRoot" Background="Transparent">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="*" />
+ </Grid.RowDefinitions>
<phoneshell:SystemTray.ProgressIndicator>
<phoneshell:ProgressIndicator IsIndeterminate="{Binding IsDataLoading}"
IsVisible="{Binding IsDataLoading}"
Text="Loading..." />
</phoneshell:SystemTray.ProgressIndicator>
<!--Panorama control-->
- <!--<controls:Panorama Title="Juick20">-->
- <!--<controls:Panorama.TitleTemplate>
+ <!--<controls:Panorama Title="Juick20">-->
+ <!--<controls:Panorama.TitleTemplate>
<DataTemplate>
<Grid Margin="0,80,0,0">
<ContentPresenter>
@@ -43,134 +43,137 @@
</Grid>
</DataTemplate>
</controls:Panorama.TitleTemplate>-->
- <controls:Pivot Title="juick" Grid.Row="1">
+ <controls:Pivot Title="juick" Grid.Row="1">
- <!--Use 'Orientation="Horizontal"' to enable a panel that lays out horizontally-->
- <!--<controls:PanoramaItem x:Name="MainPanoramaItem" Header="My feed" Margin="0, -40, 0, 0">-->
- <controls:PivotItem Header="My feed" Margin="0, -5, 0, 0">
+ <!--Use 'Orientation="Horizontal"' to enable a panel that lays out horizontally-->
+ <!--<controls:PanoramaItem x:Name="MainPanoramaItem" Header="My feed" Margin="0, -40, 0, 0">-->
+ <controls:PivotItem Header="My feed" Margin="0, -5, 0, 0">
- <!--Double line list with image placeholder and text wrapping-->
- <ListBox x:Name="Home"
+ <!--Double line list with image placeholder and text wrapping-->
+ <ScrollViewer>
+ <ItemsControl x:Name="Home"
Margin="0, 0, -12, 0"
ItemsSource="{Binding Items}"
- SelectionChanged="ListBoxSelectionChanged"
bindings:ScrollViewerMonitor.AtEndCommand="{Binding LoadMessagesPageCommand}">
- <ListBox.ItemContainerStyle>
- <Style TargetType="ListBoxItem">
- <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
- </Style>
- </ListBox.ItemContainerStyle>
- <ListBox.ItemTemplate>
- <DataTemplate>
- <Border BorderBrush="{StaticResource PhoneForegroundBrush}" BorderThickness="0 0 0 1">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <Image Source="{Binding UserAvatar}" Grid.Row="0" Grid.Column="0" Margin="3" />
- <TextBlock Text="{Binding Username}" Grid.Row="0" Grid.Column="1"
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <HyperlinkButton NavigateUri="{Binding MessageUri}">
+ <HyperlinkButton.Template>
+ <ControlTemplate>
+ <Border BorderBrush="{StaticResource PhoneForegroundBrush}" BorderThickness="0 0 0 1">
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="*" />
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <Image Source="{Binding UserAvatar}" Grid.Row="0" Grid.Column="0" Margin="3" />
+ <TextBlock Text="{Binding Username}" Grid.Row="0" Grid.Column="1"
Margin="5,0,5,5" VerticalAlignment="Top"
HorizontalAlignment="Left"
FontFamily="{StaticResource PhoneFontFamilySemiLight}"
FontSize="{StaticResource PhoneFontSizeLarge}"
Style="{StaticResource PhoneTextAccentStyle}" />
- <!--Style="{StaticResource PhoneTextNormalStyle}"-->
- <RichTextBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"
+ <!--Style="{StaticResource PhoneTextNormalStyle}"-->
+ <RichTextBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"
TextWrapping="Wrap" HorizontalAlignment="Left"
Foreground="{StaticResource PhoneForegroundBrush}"
Margin="5,0,5,5" VerticalAlignment="Top"
IsReadOnly="True">
- <Paragraph bindings:ParagraphBindingBehavior.AssignedInlines="{Binding MessageText, Converter={StaticResource inlineConverter}}" />
- </RichTextBox>
- <Image Source="{Binding Attachment}" Grid.Row="2" Grid.Column="0" Margin="3" Grid.ColumnSpan="2" />
- <TextBlock Text="{Binding Status}" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2"
+ <Paragraph bindings:ParagraphBindingBehavior.AssignedInlines="{Binding MessageText, Converter={StaticResource inlineConverter}}" />
+ </RichTextBox>
+ <Image Source="{Binding Attachment}" Grid.Row="2" Grid.Column="0" Margin="3" Grid.ColumnSpan="2" />
+ <TextBlock Text="{Binding Status}" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2"
Foreground="{StaticResource PhoneForegroundBrush}"
Style="{StaticResource PhoneTextAccentStyle}"
FontSize="{StaticResource PhoneFontSizeSmall}"
Margin="5,0,5,5" VerticalAlignment="Top"
TextWrapping="Wrap" HorizontalAlignment="Left"/>
- </Grid>
- </Border>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- <!--</controls:PanoramaItem>-->
- </controls:PivotItem>
-
- <!--<controls:PanoramaItem x:Name="LastPanoramaItem" Header="Last" Margin="0, -40, 0, 0">-->
- <controls:PivotItem Header="Last" Margin="0, -5, 0, 0">
- <!--Double line list with image placeholder and text wrapping-->
- <ListBox x:Name="Last" Margin="0,0,-12,0"
+ </Grid>
+ </Border>
+ </ControlTemplate>
+ </HyperlinkButton.Template>
+ </HyperlinkButton>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </ScrollViewer>
+ <!--</controls:PanoramaItem>-->
+ </controls:PivotItem>
+ <!--<controls:PanoramaItem x:Name="LastPanoramaItem" Header="Last" Margin="0, -40, 0, 0">-->
+ <controls:PivotItem Header="Last" Margin="0, -5, 0, 0">
+ <!--Double line list with image placeholder and text wrapping-->
+ <ScrollViewer>
+ <ItemsControl x:Name="Last" Margin="0,0,-12,0"
ItemsSource="{Binding Items}"
- SelectionChanged="LastBoxSelectionChanged"
bindings:ScrollViewerMonitor.AtEndCommand="{Binding LoadMessagesPageCommand}">
- <ListBox.ItemContainerStyle>
- <Style TargetType="ListBoxItem">
- <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
- </Style>
- </ListBox.ItemContainerStyle>
- <ListBox.ItemTemplate>
- <DataTemplate>
- <Border BorderBrush="{StaticResource PhoneForegroundBrush}" BorderThickness="0 0 0 1">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <Image Source="{Binding UserAvatar}" Grid.Row="0" Grid.Column="0" Margin="3" />
- <TextBlock Text="{Binding Username}" Grid.Row="0" Grid.Column="1"
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <HyperlinkButton NavigateUri="{Binding MessageUri}">
+ <HyperlinkButton.Template>
+ <ControlTemplate>
+ <Border BorderBrush="{StaticResource PhoneForegroundBrush}" BorderThickness="0 0 0 1">
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="*" />
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <Image Source="{Binding UserAvatar}" Grid.Row="0" Grid.Column="0" Margin="3" />
+ <TextBlock Text="{Binding Username}" Grid.Row="0" Grid.Column="1"
Margin="5,0,5,5" VerticalAlignment="Top"
HorizontalAlignment="Left"
FontFamily="{StaticResource PhoneFontFamilySemiLight}"
FontSize="{StaticResource PhoneFontSizeLarge}"
Style="{StaticResource PhoneTextAccentStyle}" />
- <RichTextBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"
+ <RichTextBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"
TextWrapping="Wrap" HorizontalAlignment="Left"
Foreground="{StaticResource PhoneForegroundBrush}"
Margin="5,0,5,5" VerticalAlignment="Top"
IsReadOnly="True">
- <Paragraph bindings:ParagraphBindingBehavior.AssignedInlines="{Binding MessageText, Converter={StaticResource inlineConverter}}" />
- </RichTextBox>
- <Image Source="{Binding Attachment}" Grid.Row="2" Grid.Column="0" Margin="3" Grid.ColumnSpan="2" />
- <TextBlock Text="{Binding Status}" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2"
+ <Paragraph bindings:ParagraphBindingBehavior.AssignedInlines="{Binding MessageText, Converter={StaticResource inlineConverter}}" />
+ </RichTextBox>
+ <Image Source="{Binding Attachment}" Grid.Row="2" Grid.Column="0" Margin="3" Grid.ColumnSpan="2" />
+ <TextBlock Text="{Binding Status}" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2"
Foreground="{StaticResource PhoneForegroundBrush}"
Style="{StaticResource PhoneTextAccentStyle}"
FontSize="{StaticResource PhoneFontSizeSmall}"
Margin="5,0,5,5" VerticalAlignment="Top"
TextWrapping="Wrap" HorizontalAlignment="Left"/>
- </Grid>
- </Border>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- <!--</controls:PanoramaItem>-->
- </controls:PivotItem>
- <!--</controls:Panorama>-->
- </controls:Pivot>
- </Grid>
+ </Grid>
+ </Border>
+ </ControlTemplate>
+ </HyperlinkButton.Template>
+ </HyperlinkButton>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </ScrollViewer>
+ <!--</controls:PanoramaItem>-->
+ </controls:PivotItem>
+ <!--</controls:Panorama>-->
+ </controls:Pivot>
+ </Grid>
<phone:PhoneApplicationPage.ApplicationBar>
- <phoneshell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
- <phoneshell:ApplicationBarIconButton IconUri="/Images/appbar.feature.email.rest.png" Text="New post" Click="ApplicationBarIconButtonClick1"/>
- <phoneshell:ApplicationBarIconButton IconUri="/Images/appbar.refresh.rest.png" Text="Refresh" Click="ApplicationBarIconButtonClick" />
+ <phoneshell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
+ <phoneshell:ApplicationBarIconButton IconUri="/Images/appbar.feature.email.rest.png" Text="New post" Click="ApplicationBarIconButtonClick1"/>
+ <phoneshell:ApplicationBarIconButton IconUri="/Images/appbar.refresh.rest.png" Text="Refresh" Click="ApplicationBarIconButtonClick" />
- <phoneshell:ApplicationBar.MenuItems>
- <phoneshell:ApplicationBarMenuItem Text="New message" Click="ApplicationBarIconButtonClick1"/>
- <phoneshell:ApplicationBarMenuItem Text="Refresh" Click="ApplicationBarIconButtonClick"/>
- <phoneshell:ApplicationBarMenuItem Text="Sign out" Click="ApplicationBarMenuItemClick" />
- </phoneshell:ApplicationBar.MenuItems>
- </phoneshell:ApplicationBar>
- </phone:PhoneApplicationPage.ApplicationBar>
+ <phoneshell:ApplicationBar.MenuItems>
+ <phoneshell:ApplicationBarMenuItem Text="New message" Click="ApplicationBarIconButtonClick1"/>
+ <phoneshell:ApplicationBarMenuItem Text="Refresh" Click="ApplicationBarIconButtonClick"/>
+ <phoneshell:ApplicationBarMenuItem Text="Sign out" Click="ApplicationBarMenuItemClick" />
+ </phoneshell:ApplicationBar.MenuItems>
+ </phoneshell:ApplicationBar>
+ </phone:PhoneApplicationPage.ApplicationBar>
</phone:PhoneApplicationPage> \ No newline at end of file