相关疑难解决方法(0)

如何提高WPF UI渲染速度

如果WPF应用程序的屏幕包含许多原始控件,则其呈现会变得迟缓.在这种情况下,除了添加更少的控件和使用更强大的视频卡之外,有哪些建议的方法可以提高WPF应用程序的响应能力?

有没有办法以某种方式使用屏幕外缓冲或类似的东西?

wpf performance user-interface rendering

41
推荐指数
2
解决办法
4万
查看次数

Grid和StackPanel,它有更好的性能?

让我们阅读这些代码,我在Windows Phone 8项目中定义了两个类似的UserControl,我真的想要哪个更好.我检查了分析,看起来它们几乎是一样的.

UserControl 1,使用grid的属性来设计我的布局.

<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}" Height="108">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>

    <Rectangle Grid.RowSpan="2" Grid.Row="0" Height="108" Width="54" Fill="Blue"></Rectangle>
    <TextBlock Grid.Row="0" Grid.Column="1" Text="Caption" Style="{StaticResource PhoneTextExtraLargeStyle}"></TextBlock>
    <TextBlock Grid.Row="1" Grid.Column="1" Text="URLURLURLURLURLURL" Style="{StaticResource PhoneTextSmallStyle}"></TextBlock>
</Grid>
Run Code Online (Sandbox Code Playgroud)

UserControl 2,使用StackPanel设计我的布局.

<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}" Height="108">
    <StackPanel Orientation="Horizontal">
        <Rectangle Height="108" Width="54" Fill="Red"></Rectangle>
        <StackPanel Orientation="Vertical">
            <TextBlock Text="Caption" Style="{StaticResource PhoneTextExtraLargeStyle}"></TextBlock>
            <TextBlock Text="URLURLURLURLURLURL" Style="{StaticResource PhoneTextSmallStyle}"></TextBlock>
        </StackPanel>
    </StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

看起来基本布局是一样的.但是当我使用XAML Spy来分析可视化树时,UserControl 1的节点数量较少,但内存需要更多.为什么?

windows wpf windows-phone-8

16
推荐指数
1
解决办法
2万
查看次数

坚持StackPanel的底部

在我的窗口中,有一个网格占用了100%的可用垂直空间.在Grid内部是一个StackPanel,里面有另一个StackPanel和一个Frame.我想让那个Frame坚持到父StackPanel的底部.

<StackPanel>
    <StackPanel>
       //normal content
     </StackPanel>
     <Frame /> // should stick to the bottom
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

因此,例如,当用户调整窗口大小并且网格获得高度时,框架内部会粘到底部.

我尝试过各种各样的东西,使用VerticalAlign="Stretch"或者使用DockPanel并分配帧a DockPanel.Dock="Bottom",但没有成功.我要感谢一两个暗示.我不需要StackPanel成为StackPanel,它也可以是DockPanel.

wpf

15
推荐指数
2
解决办法
1万
查看次数

堆栈面板或网格哪一个是最可取的

我听说带有Stack面板的UI设计比Grids更具推广性.那是否存在任何事实.我通常使用Grid来设计我的UI,最近在一个文档中我读到Grid需要更多的时间来渲染而不是堆栈面板; 所以我对此非常困惑..请给我更多关于此的信息......(WP7开发)

.net silverlight stackpanel windows-phone-7

9
推荐指数
1
解决办法
2万
查看次数

WPF中的哪个表/网格控件?

我希望显示表格数据(电视频道),但使用DataGrid/UniformGrid/Table和FlowDocument /等选项.我无法弄清楚什么是最好的选择.主要问题是细胞的大小不均匀,因为它根据时间长短而变化,我想在它们之间加上填充物.另外,我只需要能够显示表格的一部分,并允许它们向上/向下/向右滚动以查看其余部分.

什么是最好的WPF控制选项?这是我想要的一个小例子.左上角的白色方块是我想要在开始时显示的,并允许它们滚动到其余部分.

在此输入图像描述

wpf epg .net-4.0 wpf-controls

7
推荐指数
1
解决办法
1582
查看次数

由于布局影响,打开WPF窗口很慢

我的wpf有问题.问题是我的窗口,它使用了一些auto*列中的列Grid,它打开很慢.我已经使用Visual Studio调试器来调查问题所在,并在布局部分找到它.消息是:

对XAML可视树进行了更改,该树需要计算所有受影响元素的大小和/或位置.

以下是调试器的屏幕截图:

调试信息

检测布局确切问题的最佳方法是什么?或者我可以遵循一些一般规则吗?

非常感谢,我之前没有遇到过wpf的这种行为,即使是大型的usercontrols/windows ...

编辑 我不使用任何转换动画来旋转控件.一般来说,它是一个非常平坦的窗口.作为附加信息,GridView在窗口中滚动s也非常慢.

c# wpf performance layout xaml

7
推荐指数
1
解决办法
1273
查看次数