首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏“TitleBar”的RadWindow

隐藏“TitleBar”的RadWindow
EN

Stack Overflow用户
提问于 2018-08-25 13:36:18
回答 2查看 1.1K关注 0票数 4

我正在使用telerik WPF控件来创建桌面应用程序。

我想让Radwindow看起来像一个UserControl (没有min、max、关闭按钮和标题),然后在RadPane中将其作为内容加载。

如果我将视图创建为UserControl,则可以将其设置为RadPane中的内容。

对于RadWindow,我也可以这样做,即将其设置为RadPane中的内容,但问题是我仍然可以看到标题、关闭按钮。

如何隐藏‘标题栏’的RadWindow

EN

回答 2

Stack Overflow用户

发布于 2018-09-23 12:06:03

你可以用这招来做这个。

代码语言:javascript
复制
    private void HideHeader()
    {
        var myWindow = new RadWindow();
        var header = FindVisualChildren<Grid>(myWindow).FirstOrDefault(elem => elem.Name == "Header");
        if (header != null)
            header.Visibility = Visibility.Collapsed;
    }

    private static IEnumerable<T> FindVisualChildren<T>(DependencyObject parent)
        where T : DependencyObject
    {
        var childrenCount = VisualTreeHelper.GetChildrenCount(parent);
        for (var i = 0; i < childrenCount; i++)
        {
            var child = VisualTreeHelper.GetChild(parent, i);

            if (child is T children)
                yield return children;

            foreach (var other in FindVisualChildren<T>(child))
                yield return other;
        }
    }
票数 0
EN

Stack Overflow用户

发布于 2018-08-26 12:48:44

您应该创建一个UserControl,并在RadWindowRadPane中使用它。

代码语言:javascript
复制
<UserControl x:Class="Q52017840.MyUserCotnrol"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:Q52017840"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800">
    <Grid>
        <TextBlock Text="My user control" />
    </Grid>
</UserControl>

如果您创建了名为UserControlMyUserControl,您可以使用它,例如:

代码语言:javascript
复制
RadWindow radWindow = new RadWindow();
radWindow.Width = 400;
radWindow.Height = 300;
radWindow.Content = new MyUserCotnrol();

RadPane radPane1 = new RadPane();
radPane1.Header = "Document 1";
radPane1.Content = new MyUserCotnrol();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52017840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档