如何从数据模板中引用静态资源 [英] How to reference a static resource from within a datatemplate

查看:101
本文介绍了如何从数据模板中引用静态资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下问题:

<DataTemplate x:Key="OrganisationsItemTemplate">
            <StackPanel VerticalAlignment="Top" Margin="5,0,0,0">
                <Button Command="{Binding Path=DataContext.LoadSpacesCommand, ElementName=OrganisationList}" CommandParameter="{Binding}" Padding="-5,0,-5,-5" Margin="-7,-12,-7,-7" Height="auto" BorderThickness="0" HorizontalAlignment="Left" VerticalAlignment="Stretch" HorizontalContentAlignment="Left" UseLayoutRounding="True" FontSize="0.01">
                    <Grid Margin="0,0,5,0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="67"/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <StackPanel Grid.Column="0" Background="Transparent">
                            <Border Background="White" BorderThickness="0" Width="62" Height="62" HorizontalAlignment="Left" Margin="0,0,0,5">
                                <Image Source="{Binding image.thumbnail_link}" Width="62" Height="62"></Image>
                            </Border>
                        </StackPanel>
                        <StackPanel Grid.Column="1" VerticalAlignment="Center" Background="Transparent">
                            <!--<TextBlock Text="{Binding name}" HorizontalAlignment="Left" FontSize="30" VerticalAlignment="Center" Margin="0,0,0,5" />-->
                            <phone:LongListSelector x:Name="SpacesList"
                                        Background="Transparent"
                                        ItemTemplate="{StaticResource SpacesTemplate }" 
                                        ItemsSource="{Binding spaces}" 
                                        Margin="40,0,0,96" 
                                        LayoutMode="List"
                                        HideEmptyGroups="True"
                                        IsGroupingEnabled="False" VerticalContentAlignment="Top">
                            </phone:LongListSelector>
                        </StackPanel>
                    </Grid>
                </Button>
            </StackPanel>
        </DataTemplate>
        <DataTemplate x:Key="SpacesTemplate">
            <Border Background="Transparent" Padding="5,0,0,5">
                <Border Background="{StaticResource PhoneAccentBrush}" BorderBrush="{StaticResource PhoneAccentBrush}" BorderThickness="2" Width="62" 
         Height="62" Margin="0,0,18,0" HorizontalAlignment="Left">
                    <TextBlock Text="{Binding name}" Foreground="{StaticResource PhoneForegroundBrush}" FontSize="48" Padding="6" 
            FontFamily="{StaticResource PhoneFontFamilySemiLight}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
                </Border>
            </Border>
        </DataTemplate>

在我的数据模板中,我放置了LongListselector ...,它也需要一个模板。但是看不到在当前数据模板之外定义的SpacesTemplate。如何从数据模板 OrganisationsItemTemplate中引用数据模板 SpacesTemplate的任何想法

In my data template I am placing LongListselector... which also needs a template. but the SpacesTemplate that is defined outside the current datatemplate cannot be seen. any ideas how to reference the datatemplate "SpacesTemplate" from within the datatemplate "OrganisationsItemTemplate"

推荐答案

Xaml 是自上而下阅读的,如果要在 OrganisationsItemTemplate 内使用 SpacesTemplate Xaml

Xaml is read top down, if you want to use SpacesTemplate inside OrganisationsItemTemplate you will have to put SpacesTemplate before OrganisationsItemTemplate in the Xaml

这篇关于如何从数据模板中引用静态资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆