首页 新闻 搜索 专区 学院

WP7 Uri as StaticResource?

0
悬赏园豆:50 [已解决问题] 解决于 2012-07-25 14:40

请教一个问题,我想把Uri做成StaticResource,用在ApplicationBar上做IconUri,不知道怎么做哦,或者有别的方法可以把IconUri定义单独拿出来?谢谢。请参照http://stackoverflow.com/questions/8457696/wp7-uri-as-staticresource

wangzhw的主页 wangzhw | 初学一级 | 园豆:141
提问于:2011-12-11 12:57
< >
分享
最佳答案
0

ApplicationBar无法实现数据绑定,所以出现参照问题的bug。

我不清楚您的具体需求是什么,是不是想实现动态变化的ApplicationBar。如果是下面的代码可以实现变换不同的ApplicationBar。下面的代码实现的是在Pivot中实现不同的ApplicationBar。

将application bar定义到资源文件中:

 
<phone:PhoneApplicationPage.Resources><br/><shell:ApplicationBar x:Key="MainAppBar" IsVisible="True" IsMenuEnabled="True">            <shell:ApplicationBar.MenuItems>                <shell:ApplicationBarMenuItem x:Name="menuAbout" Text="{StaticResource Appbar_About}" Click="menuAbout_Click"/>            </shell:ApplicationBar.MenuItems>            <shell:ApplicationBarIconButton x:Name="btnSettings" IconUri="/icons/appbar.feature.settings.rest.png" Text="{StaticResource Appbar_Settings}" Click="btnSettings_Click" />            <shell:ApplicationBarIconButton x:Name="btnHelp" IconUri="/icons/appbar.questionmark.rest.png" Text="{StaticResource Appbar_Help}" Click="btnHelp_Click"/>        </shell:ApplicationBar>        <shell:ApplicationBar x:Key="FavoritesAppBar" IsVisible="True" IsMenuEnabled="True">            <shell:ApplicationBarIconButton x:Name="btnPlay" IconUri="/icons/appbar.transport.play.rest.png" Text="{StaticResource Appbar_Play}"  Click="btnPlay_Click" />            <shell:ApplicationBarIconButton x:Name="btnFavLoad" IconUri="/icons/appbar.folder.rest.png" Text="{StaticResource Appbar_Load}" Click="btnFavLoad_Click" />            <shell:ApplicationBarIconButton x:Name="btnFavRecord" IconUri="/icons/appbar.feature.video.rest.png" Text="{StaticResource Appbar_VictoryRecord}" Click="btnFavRecord_Click" />            <shell:ApplicationBarIconButton x:Name="btnDelete" IconUri="/icons/appbar.delete.rest.png" Text="{StaticResource Appbar_Delete}" Click="btnDelete_Click" />        </shell:ApplicationBar>        <shell:ApplicationBar x:Key="FinishedOrUnfinishedAppBar" IsVisible="True" IsMenuEnabled="True">            <shell:ApplicationBarIconButton x:Name="btnPlay2" IconUri="/icons/appbar.transport.play.rest.png" Text="{StaticResource Appbar_Play}"  Click="btnPlay_Click" />        </shell:ApplicationBar>  </phone:PhoneApplicationPage.Resources>

然后在代码中定义所使用的application bar

private void pivotMain_SelectionChanged(object sender, SelectionChangedEventArgs e)        
{            switch (((Pivot)sender).SelectedIndex)            {                case 0:                    ApplicationBar = ((ApplicationBar)this.Resources["MainAppBar"]);                    break;                case 1:                    ApplicationBar = ((ApplicationBar)this.Resources["FavoritesAppBar"]);                    break;                case 2:                    ApplicationBar = ((ApplicationBar)this.Resources["FinishedOrUnfinishedAppBar"]);                    break;                default:                    break;            }        }
收获园豆:50
Xuesong | 菜鸟二级 |园豆:255 | 2011-12-12 09:50

我的需求是想把ApplicationBar上Button的IconUri定义到xaml中,然后在用StaticResource的形式加载到Button上,而不是Binding。遇到的问题就是如何在xaml中定义Uri呢?

wangzhw | 园豆:141 (初学一级) | 2011-12-12 21:27
其他回答(1)
0

不知唉

丫a 头 | 园豆:215 (菜鸟二级) | 2011-12-12 08:51

呵呵

支持(0) 反对(0) 丫a 头 | 园豆:215 (菜鸟二级) | 2011-12-12 08:51

@刘沙沙: 嘻

支持(0) 反对(0) 丫a 头 | 园豆:215 (菜鸟二级) | 2011-12-12 08:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册