1

我正在开发 Windows Phone 8 应用程序。如何与 ApplicationBarIconButton 交换图像,如下所示。第一个屏幕截图是它的示例。在第二个屏幕截图中,字母 D 被拖到 ApplicationBar 上,在 ApplicationBar 中,字母 C 被替换为字母 D(第三个屏幕截图)。我们在 Iphone 中有这种默认功能,称为 MoreNavigationController 编辑按钮屏幕。在 wp8 中怎么可能?提前谢谢你。

4

3 回答 3

0

您需要在 App.xaml... 中创建几个 ApplicationBar,然后替换它们:

 <shell:ApplicationBar x:Key="AppBar1" IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/History.png" Text="History" Click="History_Click"/>
            <shell:ApplicationBarIconButton IconUri="/Images/News.png" Text="News Feed" Click="NewsFeedClick" />
            <shell:ApplicationBarIconButton IconUri="/Images/group.png" Text="Groups" Click="Groups_Click"/>
            <shell:ApplicationBarIconButton IconUri="/Images/Profile.png" Text="Profile" Click="Profile_Click"/>
        </shell:ApplicationBar>


<shell:ApplicationBar x:Key="AppBar2" IsVisible="True" IsMenuEnabled="True"/>

然后在你的 C# 代码中添加这一行:

ApplicationBar = (IApplicationBar)App.Current.Resources["AppBar2"];

祝你好运

于 2013-07-28T18:49:48.477 回答
0

在应用程序栏中,我不确定是否可以拖放(DnD),但是我对此解决方案有一个建议,您已经使用具有相同行为的画布或堆栈组件构建了自己的应用程序栏。一旦您能够检测到源对象的位置,您就可以使用管理代码更改 UIElements,用于源和目标的 UI 元素。

如果您有任何疑问,请告诉我。

希望能帮助到你。

于 2013-05-13T10:13:24.690 回答
0

所以首先你需要正确检测拖放。您是否已经尝试过解决这个问题?一旦您检测到用户的意图是将图像放在应用程序栏上,您可以简单地替换目标应用程序栏图标上的图标。

如果您不能通过拖放来做到这一点,您是否考虑过用“按住上下文菜单”选项替换该功能?基本上,不是 d'n'd,而是按住字母并生成一个上下文菜单,询问您是否要将其添加到应用程序栏。

注意,默认的ApplicationBar控件不支持绑定,需要数据绑定需要找第三方控件。然后替换图标将非常容易。

于 2013-05-13T09:07:56.510 回答