首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XBAP:发布版本中的缺失文本

XBAP:发布版本中的缺失文本
EN

Stack Overflow用户
提问于 2010-11-12 15:24:33
回答 1查看 277关注 0票数 3

在发布我的XBAP应用程序之后,我丢失了所有(或部分) TextBlocks。看起来是这样的:

按钮应该贴上标签,主屏幕上应该有各种各样的TextBlocks。

让事情变得更奇怪:

  • 此应用程序在调试时运行良好。
  • 并不是所有的文字都会丢失,有些会时不时地出现。
  • 我实现了一个不断变化的LayoutTransform,以适应宿主浏览器。在某些尺寸上,所有(或一些)文本都突然出现了。(对于固定的LayoutTransform,有时文本也会丢失)。相反,更改为RenderTransform并不会更改此行为。也不移除这一限制。
  • 我正在画的图表中的文字丢失了。它们是在自定义控件中用OnRender绘制的。
  • 这种行为只出现在一些计算机上。我怀疑他们都安装了.NET 4.0。在为.NET 4.0编译时,一切都很好,但由于.NET 4.0尚未广泛安装,所以我宁愿为.NET 3.5编译

有什么原因吗?如果您需要更多的信息,请询问!谢谢!

编辑:,我做了一个小项目来重现这个bug。您可以找到它发布的这里。请注意,这个bug似乎只影响到.NET 4.0。

从WPF浏览器应用程序开始,这是我在Page1.xaml中的代码

代码语言:javascript
复制
<Page x:Class="BugDemo.Page1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Grid x:Name="LayoutRoot">
        <TextBlock FontSize="35" Text="Vanishing Text" />
        <Grid.LayoutTransform>
            <ScaleTransform />
        </Grid.LayoutTransform>
    </Grid>
</Page>

CodeBehind:

代码语言:javascript
复制
public partial class Page1 : Page
{
    public Page1()
    {
        InitializeComponent();    
        this.Loaded += AppPage_Loaded;
    }

    public double Scale
    {
        get { return ((ScaleTransform)this.LayoutRoot.LayoutTransform).ScaleX; }
        set
        {
            ((ScaleTransform)this.LayoutRoot.LayoutTransform).ScaleX = value;
            ((ScaleTransform)this.LayoutRoot.LayoutTransform).ScaleY = value;
        }
    }

   void AppPage_Loaded(object sender, RoutedEventArgs e)
    {
        App.Current.MainWindow.SizeChanged += (o, args) => UpdateScale();
        UpdateScale();
    }

    private void UpdateScale()
    {            
        double xscale = (App.Current.MainWindow.ActualWidth) / 300;
        double yscale = (App.Current.MainWindow.ActualHeight) / 200;

        Scale = Math.Min(xscale, yscale);                       
    }
}

发布后,“消失文本”只能在一定程度上被看到。它在调试中很好用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-15 13:38:37

这似乎是IE9.0测试版中的一个bug。回到IE8.0,解决了这个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4166114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档