9

Ich habe versucht zu haben, ein <Grid/> (mit interaktivem Material nach innen, nicht nur ein Bild) abgeschnitten mit abgerundeten Ecken (a <Border/> oder ein <Rectangle/>, was auch immer funktioniert).Wie Clip Inhalt mit abgerundeten Ecken in Windows Store App

Ich habe mehrere Lösungen versucht, aber keiner von ihnen war kompatibel mit Windows Store App.

Keine Bürste:

  • RadialGradientBrush wird nicht in einem Windows-App-Projekt unterstützt.
  • DrawingBrush wird in einem Windows App-Projekt nicht unterstützt.
  • Der Typ 'VisualBrush' wurde nicht gefunden. Stellen Sie sicher, dass keine Assemblyreferenz fehlt und dass alle referenzierten Assemblys erstellt wurden.

Keine Maske:

  • Die Andock-Eigenschaft 'OpacityMask' wurde nicht in Typ 'Bild' gefunden.
  • Die Andock-Eigenschaft ‚OpacityMask‘ wurde in Typ ‚Stackpanel‘ nicht gefunden.
  • Die anbringbare Eigenschaft 'OpacityMask' wurde im Typ 'Grid' nicht gefunden.

keine abgerundete Geometrie:

  • Die Eigenschaft 'RadiusX' wurde nicht in Typ 'RectangleGeometry' gefunden.
  • MultiBinding wird in einem Windows App-Projekt nicht unterstützt.

Ist es etwas technisch unmöglich in einem C#/XAML Windows Store app?

+0

'OpacityMask' wird in WinRT noch nicht unterstützt und für' Clip' wirst du auf 'RectangleGeometry' beschränkt sein, also denke ich, es hängt wirklich davon ab, was genau du erreichen willst. –

+0

@ChrisW. Ich versuchte MS-Lösung http://msdn.microsoft.com/en-us/library/ms750631.aspx für eine RectangleGeometry mit abgerundeten Ecken, und es schlägt auch fehl. Haben sie absichtlich alle denkbaren Wege zum Ausschneiden mit einer abgerundeten Form entfernt? –

+0

Haben Sie versucht, es über ein 'Path'-Element oder ein' UIElement' zu rendern? Du wirst es nicht auf 'Path' anwenden können, aber ich glaube, du könntest es direkt auf ein' UIElement' anwenden, vielleicht; '' –

Antwort

2

Es klingt für mich wie Sie Ihre eigene Frage beantwortet haben. :) Gefällt dir die Antwort einfach nicht?

In WPF Ihre Möglichkeiten sind fast grenzenlos Clip. Sogar SilverLight hatte einige großartige Optionen. In Windows 8 (momentan) sind Sie jedoch auf RectangleGeometry beschränkt. Ende der Geschichte. Es ist erwähnenswert, dass Sie eine Transform auf eine RectangleGeometry anwenden können, die Ihnen ein wenig mehr als Optionen gibt.

(zumindest jetzt wissen Sie)

Best of luck!

15

Haben Sie versucht, Ihre Kontrolle innerhalb einer Grenze setzen? Setzen Sie einfach den Eckenradius der Grenze auf 150 und Sie haben eine perfekt runde Kontrolle. Hier ist ein Beispiel mit einer Schaltfläche.

<Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Center" Height="200" Margin="0,0,0,0" VerticalAlignment="center" Width="200" CornerRadius="150"> 

     <Button x:Name="btnPlayback" Content="Play" HorizontalAlignment="Center" Height="200" Margin="0,0,0,0" VerticalAlignment="center" Width=" 200" BorderThickness="0" Click="btnPlayback_Click_1"/> 

    </Border> 
+0

Ausgezeichneter Ansatz. Button Shape kann nicht direkt manipuliert werden, aber das Hinzufügen von ihnen als Kind zu einem Rand ergibt im Wesentlichen das gleiche Ergebnis. Programmgesteuert können mit der Eigenschaft "Border.Child" Schaltflächen zu einem Rahmenobjekt hinzugefügt werden. Kreisförmige Schaltflächen können auch erstellt werden, indem der 'CornerRadius' auf 150 gesetzt wird. –

3
<Ellipse HorizontalAlignment="Left" Height="301" Stroke="Black" VerticalAlignment="Top" Width="300"> 
    <Ellipse.Fill> 
     <ImageBrush Stretch="Uniform" ImageSource="http://cfile3.uf.tistory.com/image/26616E4D514A3CDC136C4B"/> 
    </Ellipse.Fill> 
</Ellipse> 

Können Sie ImageBrush verwenden?

Ich arbeite gut.

Verwandte Themen