首页 文章

如何在UWP类库中使用XAML静态资源和设计时间数据

提问于
浏览
0

我是一名有WPF经验的程序员,我开始在UWP编程 . 几乎所有的XAML代码都与我设法克服的一些例外兼容 .

起初我在一个独立的应用程序中尝试了所有东西,但是现在是时候创建可重用的用户控件了,为此我创建了一个UWP类库,我在其中复制了我编程的用户控件代码并在应用程序,但在库中似乎不会在资源字典或设计时数据扩展中创建.NET类的实例 .

这个用户控件XAML代码在App中工作但在库中不起作用(它是使用带有“d:”的设计时数据的版本),问题是Canvas.Left和Canvas.Top绑定没有得到源值(图像显示在Canvas 0,0位置) .

<UserControl x:Class="NameSpace.XXXX" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:NameSpace" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="355" d:DesignWidth="430">

  <Canvas Height="355" Width="430" d:DataContext="{d:DesignInstance Type=local:LocalClass, IsDesignTimeCreatable=True}">
  <Image x:Name="TI11" Source="Assets/Images/Image11.png" Canvas.Left="{Binding T11L}" Canvas.Top="{Binding T11T}" RenderTransformOrigin="0.5,0.5" Opacity="0.65" Height="071.053" Width="064.433"/>

   ......

  </Canvas>
</UserControl>

我已经搜索了类似的问题,并且已经看到了创建独立UWP控件库的文章,但是没有找到任何对此问题的引用 .

有没有人知道是否需要做任何特殊的事情,以便静态资源NET类和设计时间数据可以在UWP库中使用?

1 回答

  • 0

    我的问题的答案是你不需要做任何特殊的事情来在UWP库中使用设计时数据,它应该像在应用程序中一样工作 .

    我认为提出问题的问题是暂时的,只会影响针对Fall Creators Update的库 . 直到他们解决它, the turnaround is targeting Creators update instead of Fall Creators update .

    事实是,如果您使用VS 2017和我的示例代码创建一个针对Fall Creators Update的UWP库,则设计时数据绑定不起作用 .

    如果您使用Blend 2017打开库并尝试使用数据窗口生成设计时数据,则Blend会通知数据窗口功能不能用于针对Fall Creators Update的项目(我附加了Blend的消息)

    enter image description here

    我在https://developercommunity.visualstudio.com/content/problem/172286/design-time-data-in-uwp-library-not-working-in-vs.html报告了这个问题

相关问题