【问题标题】:how to interchange images with application bar icon buttons in windows phone 8?如何在 Windows Phone 8 中与应用程序栏图标按钮交换图像?
【发布时间】:2013-05-13 06:38:31
【问题描述】:

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

【问题讨论】:

    标签: .net windows-phone-7 xaml c#-4.0 windows-phone-8


    【解决方案1】:

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

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

    注意,默认的ApplicationBar控件不支持绑定,需要数据绑定需要找第三方控件。那么更换图标就超级简单了。

    【讨论】:

      【解决方案2】:

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

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

      希望对你有帮助。

      【讨论】:

      • 而不是应用程序栏,我用 ImageBrush 采用了网格(后面有颜色),如下所示。 (也接受应用程序栏的建议)。谢谢。
      【解决方案3】:

      你需要在你的 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"];
      

      祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-18
        • 2023-03-16
        • 1970-01-01
        相关资源
        最近更新 更多