Der*_*aus 11 wpf resources xaml
我正在使用Visual Studio 2010 RC1.
我在app.xaml_中定义了一个资源"Brush2":
<Application x:Class="VideoThumbnails.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<RadialGradientBrush x:Key="Brush2" RadiusX="1" RadiusY="1" GradientOrigin="0.3,0.3">
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="#ffc0c0" Offset="1"/>
</RadialGradientBrush>
</Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)
在我的Mainwindow中,我正在尝试使用该资源:
...
<Border Margin="4,2" BorderBrush="Black" BorderThickness="2" CornerRadius="4"
ToolTip="{Binding Path=FullPath}" HorizontalAlignment="Stretch"
Background="{StaticResource Brush2}">
...
Run Code Online (Sandbox Code Playgroud)
无论我做什么,它总是在运行时引发异常(未找到资源).我改变了构建操作但没有成功.
如何使用app.xaml中定义的资源?
cec*_*eco 19
如果您已将启动对象设置为自定义类,则需要创建自定义Application类并调用其InitializeComponent方法,如下所示:
App app = new App();
app.InitializeComponent();
Run Code Online (Sandbox Code Playgroud)
更新:由于@ qqww2建议InitializeComponent调用可以在App类构造函数中移动.
我不是使用StartupUriin启动我的应用程序App.xaml,而是使用事件处理程序 in App.xaml.cs。
使用override Startup()App.xaml 中的资源时,不会加载:
public partial class App
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是当使用事件时,Startup资源加载得很好:
<Application x:Class="OxyplotTest.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="OnStartup">
Run Code Online (Sandbox Code Playgroud)
和后面的代码:
public partial class App
{
private void OnStartup(object sender, StartupEventArgs e)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
你所做的一切都是错误的.您要么以某种方式搞砸了项目构建,而是随机做事以试图让它工作或2)其他事情在这里进行,如果没有异常细节,我们永远不会知道.
我强烈建议你尝试在一个全新的WPF项目中重复这个.执行以下步骤(并且仅执行以下步骤):
创建一个新的WPF项目,将完全相同的画笔添加到app.xaml,然后打开Window1并将窗口的背景绑定到资源.运行应用程序.
它应该按预期工作.如果没有,请返回异常详细信息.如果是这样,请将此新项目与您当前的项目进行比较,以了解您的不同行为.
| 归档时间: |
|
| 查看次数: |
13130 次 |
| 最近记录: |