2012-04-21 10 views
0

WindowsPhoneでアプリケーションを開発し始めていて、問題がいくつかありました。私は動的にキャンバスを追加しようとしていますが、うまくいかない、何かを忘れているかもしれません。下のコードは私の学習アプリからです、それは基本的なWin Phoneアプリです。動的にキャンバスを作成する

CSコード:

public MainPage() 
    { 
     InitializeComponent(); 

     int size = 50; 
     Canvas myCanvas = new Canvas(); 
     Canvas.SetLeft(myCanvas, 0); 
     myCanvas.Width = size; 

     Color c = new Color(); 
     c.R = 255; 
     c.B = 0; 
     c.G = 255; 

     myCanvas.Background = new SolidColorBrush(c); 

     ContentPanel.Height = 100; 
     ContentPanel.Width = 100; 
     ContentPanel.Children.Add(myCanvas); 
     ApplicationTitle.Text = ContentPanel.ActualHeight.ToString(); 

    } 

XAML

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <!--TitlePanel contains the name of the application and page title--> 
    <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> 
     <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> 
     <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> 
    </StackPanel> 

    <!--ContentPanel - place additional content here--> 
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 

    </Grid> 
</Grid> 

答えて

1

私はあなたがキャンバスに、ここで達成しようとしているものはかなりよく分かりません。他のコントロールを調べて、何をしようとしているのかを知ることができます。

言われているように、問題は、色の "アルファ"コンポーネントが不足しているということです。これは透明にしています。

変更:

Color c = new Color(); 
    c.R = 255; 
    c.B = 0; 
    c.G = 255; 

    c.A = 255; // this is what you need to add to make it visible. 
+0

おかげで、あなたは私の一日行わは;) 現在、私はゲームを作成しようとしている、私はすぐにいくつかのPNGを置くその上にドラッグ可能な要素を必要としています。 –

+0

喜んで助けてください。あなたのゲームで幸運! – Robaticus

関連する問題