我有这个结构:
LightWindow.cs
namespace ScreenToGif.Controls.LightWindow
{
public class LightWindow : Window
{
static LightWindow()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(LightWindow), new FrameworkPropertyMetadata(typeof(LightWindow)));
}
//...
}
}
Recorder.xaml
<lightWindow:LightWindow x:Class="ScreenToGif.Windows.Recorder"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:lightWindow="clr-namespace:ScreenToGif.Controls.LightWindow"
</lightWindow:LightWindow>
Generic.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:lightWindow="clr-namespace:ScreenToGif.Controls.LightWindow">
<!-- Window style -->
<Style TargetType="{x:Type lightWindow:LightWindow}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type lightWindow:LightWindow}">
<!-- closing tags omitted -->
Recorder
窗口打开隐身。在我的测试项目(在另一个项目中使用自定义窗口的dll)中,窗口显示正确。
如果我删除Recorder
电话(不是我想要的),唯一显示的是OverrideMetadata
窗口的内部网格。
答案 0 :(得分:0)
如何开展工作:
将Themes
资源移动到项目的根文件夹。