WPF自定义窗口不可见

时间:2014-11-22 04:11:29

标签: c# wpf xaml custom-controls

我有这个结构:

enter image description here

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窗口的内部网格。

1 个答案:

答案 0 :(得分:0)

如何开展工作:

enter image description here

Themes资源移动到项目的根文件夹。