2016-04-10 17 views
1

Ich habe ein seltsames Verhalten in einem Projekt, an dem ich arbeite.Leinwand Schaltfläche Inhalt verschwindet

weird bug

-Code in Frage:

<Button cal:Message.Attach="DeleteThruster($dataContext)" ToolTip="Delete"> 
    <Button.Content> 
     <ContentPresenter Content="{StaticResource appbar_delete}"> 
      <ContentPresenter.LayoutTransform> 
       <ScaleTransform ScaleX="0.5" ScaleY="0.5" /> 
      </ContentPresenter.LayoutTransform> 
     </ContentPresenter> 
    </Button.Content> 
</Button> 
<Button Margin="5,0,20,0" cal:Message.Attach="CopyThruster($dataContext)" ToolTip="Copy"> 
    <Button.Content> 
     <ContentPresenter Content="{StaticResource appbar_page_copy}"> 
      <ContentPresenter.LayoutTransform> 
       <ScaleTransform ScaleX="0.5" ScaleY="0.5" /> 
      </ContentPresenter.LayoutTransform> 
     </ContentPresenter> 
    </Button.Content> 
</Button> 


<Canvas x:Key="appbar_delete" Width="76" Height="76" Clip="F1 M 0,0L 76,0L 76,76L 0,76L 0,0"> 
    <Path Width="27.7083" Height="35.625" Canvas.Left="24.1458" Canvas.Top="19.7917" Stretch="Fill" Fill="{DynamicResource BlackBrush}" Data="F1 M 25.3333,23.75L 50.6667,23.75C 51.5411,23.75 51.8541,27.3125 51.8541,27.3125L 24.1458,27.3125C 24.1458,27.3125 24.4589,23.75 25.3333,23.75 Z M 35.625,19.7917L 40.375,19.7917C 40.8122,19.7917 41.9583,20.9378 41.9583,21.375C 41.9583,21.8122 40.8122,22.9584 40.375,22.9584L 35.625,22.9584C 35.1878,22.9584 34.0416,21.8122 34.0416,21.375C 34.0416,20.9378 35.1878,19.7917 35.625,19.7917 Z M 27.7083,28.5L 48.2916,28.5C 49.1661,28.5 49.875,29.2089 49.875,30.0834L 48.2916,53.8334C 48.2916,54.7078 47.5828,55.4167 46.7083,55.4167L 29.2917,55.4167C 28.4172,55.4167 27.7083,54.7078 27.7083,53.8334L 26.125,30.0834C 26.125,29.2089 26.8339,28.5 27.7083,28.5 Z M 30.0833,31.6667L 30.4792,52.25L 33.25,52.25L 32.8542,31.6667L 30.0833,31.6667 Z M 36.4167,31.6667L 36.4167,52.25L 39.5833,52.25L 39.5833,31.6667L 36.4167,31.6667 Z M 43.1458,31.6667L 42.75,52.25L 45.5208,52.25L 45.9167,31.6667L 43.1458,31.6667 Z "/> 
</Canvas> 

Aus irgendeinem Grund, wenn ich mein Programm ausführen, und klicken Sie auf die Schaltfläche Kopieren vorherigen Tasten ihren Inhalt verlieren, die eine Leinwand Bild ist. Was die Sache noch ärgerlicher macht, ist, dass es im Designer gut ankommt.

Bricht dieses fehlerhafte Verhalten jemanden an?

Quellcode verfügbar hier: GitHub project/specific file

+0

Nicht sicher, ob es im Zusammenhang, aber es sollte nicht sein '$ DataContext', mit Kapital "D"? – heltonbiker

Antwort

1

Ich hatte das gleiche Problem, wenn Icons gemacht mit einer Leinwand verwenden. Die Lösung für mein Problem bestand darin, x: Shared = "False" zu meinem Canvas hinzuzufügen.

Eg.

<Canvas x:Key="appbar_delete" x:Shared="False" .../> 

Hoffe, dass das es beheben wird. Nur aus Neugier, für was wirst du dein Programm benutzen? Sieht interessant ...

Grüße SanHolo

+0

yup! das hat es behoben. Vielen Dank. Es ist für ein Spiel, das ich spiele. Da es keine eingebauten Informationen gibt, habe ich ein kleines Programm erstellt, um die Dinge für mich zu berechnen, um eine Vorstellung zu bekommen, ob mein Schiff überhaupt abheben kann :) – Dbl