2009-03-17 7 views
30

मैं एक खिड़की (डब्ल्यूपीएफ) के कोनों को गोल करने की कोशिश कर रहा हूं और यह काम नहीं करता है, मैंने खिड़की को पारदर्शी बनाने और गोलाकार कोनों के साथ एक आंतरिक सीमा जोड़ने की कोशिश की और यह काम नहीं करता है।मैं डब्ल्यूपीएफ में गोलाकार कोनों का फॉर्म कैसे बना सकता हूं?

कोई विचार?

+9

हाँ! मेरा पहला एसओ सवाल !!! – Shimmy

उत्तर

32

आपको विंडोस्टाइल को विंडो स्टाइल में सेट करने की आवश्यकता है। कोई, जो क्रोम को हटा देगा, फिर आप पारदर्शिता की अनुमति दे सकते हैं जो विंडो तत्व में एक विशेषता है, और पृष्ठभूमि रंग को पारदर्शी पर सेट करें। यह सब विंडो टैग में विशेषताओं के रूप में किया जा सकता है।

WindowStyle="None" 
AllowsTransparency="True" 
Background="Transparent" 

कोने गोल बनाने के लिए, एक सीमा का उपयोग करें और cornerRadius संपत्ति

+1

क्या आप सीमा निर्धारित करने के लिए उदाहरण दिखा सकते हैं !! वास्तव में – Moumit

2

सेट आप भी अपनी खिड़की है कि कुछ पिक्सल चौड़ा, वरना आपके गोलाकार कोनों के किनारों है चारों ओर एक पारदर्शी सीमा बनाने की जरूरत करने के लिए

4

काट पाने AllowsTransparency का उपयोग न करें यह धीमी गति से और गाड़ी है, इस लिंक पर एक नज़र डालें, खंड के लिए खोजें "ऑफिस 2007 एयरो बिना - या, आप सब कुछ के लिए जिम्मेदार हैं":

https://blogs.msdn.microsoft.com/wpfsdk/2008/09/08/custom-window-chrome-in-wpf/

संपादित करें: इस पोस्ट की कुछ तकनीकें विस्टा के लिए विशिष्ट हैं, लेकिन "एरो के बिना कार्यालय 2007" अनुभाग XP पर काम करता है (और वास्तव में वर्णन करता है कि Vista के लिए लिखे गए सॉफ़्टवेयर को XP पर वापस जाना है) ।

+0

। उस लेख में कुछ अच्छे उदाहरण हैं। मैंने तकनीक में कई बार खुद का इस्तेमाल किया। –

+0

मेरी समस्या यह है कि मुझे अपने प्रोजेक्ट को XP के साथ संगत होने की आवश्यकता है। – Shimmy

+0

शिमी, इस खंड में वर्णित तकनीकें XP – Nir

2

यह आपकी मदद कर सकता है।

<Grid DataContext="{Binding ElementName=root}"> 
    <Border Background="#90000000" Visibility="{Binding Visibility}"> 
     <Border BorderBrush="Black" BorderThickness="1" Background="AliceBlue" 
       CornerRadius="10,0,10,0" VerticalAlignment="Center" 
       HorizontalAlignment="Center"> 
      <Border.BitmapEffect> 
       <DropShadowBitmapEffect Color="Black" 
        Opacity="0.5" Direction="270" 
        ShadowDepth="0.7" /> 
      </Border.BitmapEffect> 
      <Grid Margin="10"> 
       <Grid.RowDefinitions> 
        <RowDefinition /> 
        <RowDefinition Height="Auto" /> 
       </Grid.RowDefinitions> 
       <TextBlock x:Name="MessageTextBlock" 
        Text="{Binding Message}" 
        TextWrapping="Wrap" Margin="5" /> 
       <UniformGrid Grid.Row="1" Margin="5" 
          Columns="2" HorizontalAlignment="Center" 
          VerticalAlignment="Bottom"> 
        <Button x:Name="OkButton" 
          Content="Ok" Margin="2" /> 
        <Button x:Name="CancelButton" 

          Content="Cancel" Margin="2" /> 
       </UniformGrid> 
      </Grid> 
     </Border> 
    </Border> 
</Grid> 
संबंधित मुद्दे