小编Bil*_*ves的帖子

有没有办法在没有StartUpUri的情况下启动WPF应用程序而不破坏别的东西?

我已经尝试了几个小时才能达到可以启动WPF应用程序并完全控制的程度.我希望能够创建一个ViewModel,创建一个View(Window),将View的数据上下文设置为ViewModel,然后显示View.

我尝试了很多方法,最有希望的是将App.xaml更改为页面,然后添加我自己的Main方法.不幸的是,这不能正常工作,因为VS2010然后没有在设计器中显示App.xaml的样式,尽管它们在运行应用程序时确实有效.

有办法做我想要的吗?如果没有,人们通常如何在WPF中启动MVVM应用程序,在View本身之外创建一个ViewModel?

wpf mvvm

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

如何在没有触摸屏的情况下开发WPF多点触控应用程序?

我的任务是创建一个多点触控应用程序,但我没有多点触控屏幕或设备,我们的一个月没有到达(Grr!)

是否有某种仿真或廉价的USB设备可以在.NET 4中用于过渡期间的WPF?

wpf

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

为什么我的WPF样式不起作用?

尝试在app.xaml中放入样式。我的app.xaml读为:

<Application x:Class="TestApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Application.Resources>
        <Style x:Key="TestStyle" TargetType="Button">
            <Setter Property="Background" Value="Red"/>
        </Style>
    </Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)

我的按钮XAML如下:

<Button Content="Click Me!" Style="{StaticResource TestStyle}" />
Run Code Online (Sandbox Code Playgroud)

在设计器中,一切看起来都不错,但是当我运行代码时,它失败了:

Provide value on 'System.Windows.StaticResourceExtension' threw an exception.
Run Code Online (Sandbox Code Playgroud)

我已经盯着它看了好多年了,但是找不到问题!

编辑

这似乎与整个应用程序有关。如果我将代码复制到另一个新项目中,则可以正常工作。唯一的区别是使用“ StartupUri =” MainWindow.xaml“加载了窗口。在不起作用的窗口中,我在App.Startup期间按如下方式加载了窗口:

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
    new TestWindow().Show();
}
Run Code Online (Sandbox Code Playgroud)

找到了问题-我错过了InitializeComponent调用。现在,样式可以在最终产品中使用,而不能在设计师中使用。我要问一个单独的问题。

wpf resources styles

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

标签 统计

wpf ×3

mvvm ×1

resources ×1

styles ×1