.net - WPF:隐形控制(?)

标签 .net wpf wpf-controls

我试图理解,为什么 WPF 控件或派生自控件的自定义控件永远不可见:

比如说,我们有以下内容:

<Window x:Class="WpfApplication13.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:my="clr-namespace:WpfApplication13"
        Title="MainWindow" Height="350" Width="525">

    <DockPanel Name="dockPanel1" Background="LightBlue">

        <Canvas DockPanel.Dock="Left" ToolTip="tt one" Width="200" Background="Blue">
            <Control Background="Red" ToolTip="tt control" BorderBrush="Red" BorderThickness="5" Width="50" Height="100"></Control>
        </Canvas>

        <Button Content="two" DockPanel.Dock="Left" ToolTip="tt two" ></Button>
        <!--<my:MyControl Background="Red" ToolTip="tt hello" BorderBrush="Red" BorderThickness="5"></my:MyControl>-->

        <Control Background="Red" ToolTip="tt hello" BorderBrush="Red" BorderThickness="5"></Control>
    </DockPanel>
</Window>

任何指示控件的存在 - 任何边框、任何工具提示、任何背景都不会被检测到。

为什么这样,以及如何使控件可见?

最佳答案

Control 类是可以模板化的控件的基类,但它本身并不定义模板。没有模板的控件没有可视化树,因此不会显示。

关于.net - WPF:隐形控制(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5651004/

相关文章:

c# - 创建一个可以像 XNamespace 类一样实例化的类

wpf - 禁用父控件时启用子控件

c# - 虚拟化 TreeView 中的滚动问题

wpf - 如何在 wpf 中使用 MVVM 处理 ComboBox 的 SelectionChanged 事件?

c# - 允许鼠标事件通过半透明的 Popup

wpf - 在WPF中设置子UserControl的数据上下文

.net - ASP.NET MVC 中 runat ="server"标签的状态是什么?

c# - 如何将 excel ListObject 添加到 C# 中的给定工作表?

.net - 是否有一种 .NET 编码类型可以将基础文件中的每个字节作为具有相同序数值的字符返回?

wpf 树状 View mvvm