मैं डेस्कटॉप एपलन बनाने के लिए टेलीरिक डब्ल्यूपीएफ नियंत्रण के साथ काम कर रहा हूं।

मैं Radwindow को एक UserControl (न्यूनतम, अधिकतम, बंद बटन और शीर्षक के बिना) जैसा बनाना चाहता हूं और बाद में इसे RadPane में एक सामग्री के रूप में लोड करना चाहता हूं .

यदि मैं UserControl के रूप में अपना विचार बनाता हूं, तो मैं उसे RadPane में सामग्री के रूप में सेट कर सकता हूं।

मैं RadWindow के साथ भी ऐसा कर सकता हूं यानी इसे RadPane में सामग्री के रूप में सेट कर सकता हूं लेकिन समस्या यह है कि मैं अभी भी हैडर, क्लोज बटन देख सकता हूं

RadWindow के 'टाइटल बार' को कैसे छिपाएं?

enter image description here

3
Upendhar Singirikonda 25 अगस्त 2018, 16:36

2 जवाब

आपको एक UserControl बनाना चाहिए और उसे RadWindow और RadPane में इस्तेमाल करना चाहिए।

<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>

यदि आपने UserControl को MyUserControl नाम से बनाया है, तो आप इसका उपयोग कर सकते हैं, उदा। तौर पर:

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();
0
kmatyaszek 26 अगस्त 2018, 15:48
मैं माफी चाहता हूं। मुझे लगता है कि आप मेरे प्रश्न को समझ नहीं पाए। हाँ, मैं एक 'UserControl' बना सकता हूँ और इसे 'RadWindow' या 'RadPane' में लोड कर सकता हूँ। लेकिन ऐसा करने से, मैं इसकी थीम नहीं बदल सकता। तो, मैं UserControl के बजाय रेडविंडो का उपयोग करना चाहता हूं और 'रेडविंडो' को 'रेडपेन' में सामग्री के रूप में लोड करना चाहता हूं। क्योंकि, मेरे पास गतिशील रूप से 'रेडविंडो' की थीम बदलने का नियंत्रण है। तब तक तो ठीक है। लेकिन, जब मैं रेडपेन में 'रेडविंडो' जोड़ता हूं, तब भी यह मेरे रेड फलक टैब में न्यूनतम, अधिकतम, बंद बटन और शीर्षक बार दिखा रहा है जिसे मैं छिपाना चाहता हूं।
 – 
Upendhar Singirikonda
27 अगस्त 2018, 08:10
यदि आप नियंत्रण का पुन: उपयोग करना चाहते हैं तो आपको मेरी सलाह का पालन करना चाहिए। यदि आपको थीम मैकेनिज्म में कोई समस्या है, तो कृपया अच्छे स्रोत कोड उदाहरण के साथ एक और प्रश्न बनाएं। आप GitHub पर उदाहरण प्रोजेक्ट बना सकते हैं।
 – 
kmatyaszek
27 अगस्त 2018, 22:22
मैंने शैली का उपयोग करके बीजी रंग बदलकर इसे हासिल किया
 – 
Upendhar Singirikonda
29 अगस्त 2018, 20:10

आप उस ट्रिक से ऐसा कर सकते हैं।

    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
Spawn 23 सितंबर 2018, 15:06