问题列表 - 第4075页

在WPF中滑动面板的最佳方法是什么?

我有一个相当简单的UserControl我已经做了(原谅我的Xaml我只是学习WPF),我想滑出屏幕.为此,我设置了一个转换变换动画(我也尝试将Panel设置为画布的子画面,并使用相同的结果设置X位置的动画),但即使在相当快的新计算机上,面板也会非常急动.滑入和滑出的最佳方式是什么(最好使用KeySplines使其随惯性移动)而不会产生晃动.我面板上只有8个按钮,所以我认为这不会是一个太大的问题.

这是我正在使用的Xaml,它在Kaxaml中运行良好,但它非常生涩和缓慢(以及在WPF应用程序中编译运行时的急躁和缓慢).

  <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="1002" Height="578">
     <UserControl.Resources>            
        <Style TargetType="Button">
           <Setter Property="Control.Padding" Value="4"/>
           <Setter Property="Control.Margin" Value="10"/>
           <Setter Property="Control.Template">
              <Setter.Value>
                 <ControlTemplate TargetType="Button">
                    <Grid Name="backgroundGrid" Width="210" Height="210" Background="#00FFFFFF">
                       <Grid.BitmapEffect>
                          <BitmapEffectGroup>
                             <DropShadowBitmapEffect x:Name="buttonDropShadow" ShadowDepth="2"/>
                             <OuterGlowBitmapEffect x:Name="buttonGlow" GlowColor="#A0FEDF00" GlowSize="0"/>
                          </BitmapEffectGroup>
                       </Grid.BitmapEffect>
                       <Border x:Name="background" Margin="1,1,1,1" CornerRadius="15">
                          <Border.Background>
                             <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                                <LinearGradientBrush.GradientStops>
                                   <GradientStop Offset="0" Color="#FF0062B6"/>
                                   <GradientStop Offset="1" Color="#FF0089FE"/>
                                </LinearGradientBrush.GradientStops>
                             </LinearGradientBrush>
                          </Border.Background>
                       </Border>
                       <Border Margin="1,1,1,0" BorderBrush="#FF000000" BorderThickness="1.5" CornerRadius="15"/>
                       <ContentPresenter HorizontalAlignment="Center" Margin="{TemplateBinding Control.Padding}" 
                        VerticalAlignment="Center" Content="{TemplateBinding ContentControl.Content}" 
                        ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"/>
                    </Grid>
                 </ControlTemplate>
              </Setter.Value>
           </Setter>
        </Style>
     </UserControl.Resources>
     <Canvas>
        <Grid x:Name="Panel1" Height="578" …
Run Code Online (Sandbox Code Playgroud)

wpf performance animation xaml

11
推荐指数
2
解决办法
3万
查看次数

自动更新的最佳实践

对于基于桌面的应用程序,执行自动更新的最佳做法是什么?目前,我们下载所有文件,然后复制并注册(如果com dll)到他们各自的目录.

我查看了Google Chrome更新方法.它似乎首先将压缩文件下载到目录中,然后解压缩所有文件.此外,他们有一个设置应用程序,似乎用于进行更新.此外,他们创建一个映射到更新版本的目录,如1.0.154.43,但它们保留旧版本的目录.

desktop-application auto-update

11
推荐指数
2
解决办法
3024
查看次数

List <T>是否保证项目按照添加顺序返回?

是否List<T>始终保证项目将按枚举时添加的顺序返回?

更新:感谢所有人的回答,让我放心.我List<T>用.NET Reflector快速戳了一下这个类(应该首先应该这样做),实际上底层存储是T(T[])的数组.

.net collections list

71
推荐指数
3
解决办法
2万
查看次数

Java中文件中的行数

我使用大量数据文件,有时我只需要知道这些文件中的行数,通常我打开它们并逐行读取它们直到我到达文件末尾

我想知道是否有更聪明的方法来做到这一点

java line-numbers large-files

209
推荐指数
8
解决办法
40万
查看次数

静态字段是否打开以进行垃圾回收?

给定一个仅在程序设置中使用的假设实用程序类:

class MyUtils {
   private static MyObject myObject = new MyObject();
   /*package*/static boolean doStuff(Params... params) {
       // do stuff with myObject and params...
   }
}
Run Code Online (Sandbox Code Playgroud)

当myObject不再被使用时,它会被垃圾收集,还是会在程序的生命周期中保留?

java static garbage-collection static-members

89
推荐指数
5
解决办法
4万
查看次数

__LINE__相当于Javascript

有没有办法在Javascript中获取源代码行,比如__LINE__C或PHP?

javascript

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

89
推荐指数
7
解决办法
12万
查看次数

什么是Page.LoadComplete意味着(在实践中)

在ASP.NET 页面LifeCycle中有Page.LoadComplete事件.

MSDN文档说"将此事件用于需要加载页面上所有其他控件的任务".这到底是什么意思?"最佳实践"会说LoadComplete应该用于什么?

asp.net

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

ASP.NET MVC中的UI组合

您将如何在ASP.NET MVC视图中支持外部可组合部分?

这是什么意思?想想"每个页面上的登录框"或"iGoogle".这些东西需要位于每个控制器/视图外部的某些位置.

一种方法是在视图中添加组件,如下所示:

<% foreach (var component in GetComponents()) {%>
    <%= Html.RenderPartial(component.ViewName, component.ViewData)%>
<%} %>
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我正在寻找一种方法,让每个组件的控制器提供viewname和viewdata,而不是显示它们的视图的控制器.您可以建议的任何完全不同的解决方案也会引起关注.过滤器,WebForms等

更新:我会试着用一个例子来解释我想要解决的问题.我会选择登录功能.

在典型的webforms应用程序中,这可以是一个用户控件,它在页面生命周期的load事件中检索适当的数据并更新一些UI控件.点击后页面将回发,我们可以在同一用户控件中的点击事件中对发布的信息进行操作.

从我目前对ASP.NET MVC样式的理解来看,首先接受请求的控制器将检索适当的数据并将其传递给视图,然后视图将其传递给登录部分视图.登录视图将定义一个表单,其后置操作指向登录控制器的登录操作.在发布信息时使用的登录操作,我们可以选择一起使用一些漂亮的方案,原来的控制器传递请求.

我假设有一种比上面更聪明的方法,不需要我将控制器逻辑放在视图/母版页中.

asp.net-mvc composition

5
推荐指数
2
解决办法
3092
查看次数

将MVC Beta Web应用程序移动到虚拟目录会删除所有/内容资源

我在win2008服务器上使用VS2008开发了一个非常好的MVC Beta应用程序.当我尝试将其部署到IIS6虚拟目录时,我的麻烦就开始了.在目标win2003服务器盒上安装MVC Beta后,我能够从虚拟目录中显示应用程序,但缺少所有图像和css属性.占位符建议图像应位于根网站而不是应用程序运行的虚拟目录.

实际路径:

http://localhost/Content/images/<myimage>.png
Run Code Online (Sandbox Code Playgroud)

而不是:

http://localhost/<virtualdirectory>/Content/images/<myimage>.png
Run Code Online (Sandbox Code Playgroud)

如果我在自己的网站(Root)中安装应用程序,一切正常.我可以通过将Web属性设置为"使用Visual Studio开发服务器"/特定端口/并添加虚拟路径在VS2008中复制它.

我还可以通过将项目上的Web属性设置为"使用本地IIS Web服务器"并创建虚拟目录来复制它.

关于mvc url路由,我有一些明显的遗漏.这里的任何指导将不胜感激.

asp.net-mvc routing iis-6

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