1

この例に従って、Coding4FunMessagePrompt内にユーザーコントロールを表示しました。 http://windowsphonegeek.com/articles/Creating-a-Windows-Phone-7-Trial-Application-Adding-Buy-Now-Functionality

ページの下部にあるホームアイコンをクリックすると、下の画像に示すように、2つのボタンを備えたUserControlを備えたMessagePromtを開きます。

しかし、どういうわけか、この明るい白い境界線が表示され、それがどこから来ているのかを判断できません。

注: usercontorlとその中のすべてのコントロールに対して、境界線を透明に設定し、厚さを0に設定しました。青いパネルを表示したいだけで、白い境界線は表示しません。幅は300です。

誰かが何か考えを持っていますか?

ここに画像の説明を入力してください

4

2 に答える 2

2

apphubフォーラムの「EricFleck-Microsoft」から助けを得ました。彼の解決策は次のとおりです。

<phone:PhoneApplicationPage    
    ...    
    xmlns:c4f="clr-namespace:Coding4Fun.Phone.Controls;assembly=Coding4Fun.Phone.Controls">   

    <phone:PhoneApplicationPage.Resources>  
        <ControlTemplate x:Key="MsgPropmtNoBorder" TargetType="c4f:MessagePrompt">   
            <Grid VerticalAlignment="Stretch">   
                <Rectangle Fill="{StaticResource TransparentBrush}" />  

                <Border VerticalAlignment="Top"    
                        Margin="10"    
                        Background="{TemplateBinding Background}"    
                        BorderThickness="0"    
                        BorderBrush="{StaticResource PhoneForegroundBrush}">   

                    <StackPanel Margin="10">   
                        <TextBlock    
                                    Text="{TemplateBinding Title}"    
                                    Margin="0,-10,-25,10"    
                                    FontSize="30"    
                                    TextWrapping="Wrap" FontFamily="Segoe WP Light" />  
                        <ContentPresenter Content="{TemplateBinding Body}" />  
                        <StackPanel    
                                    Margin="0,10,0,0"  
                                    Name="actionButtonArea"  
                                    Orientation="Horizontal"  
                                    HorizontalAlignment="Center" />  
                    </StackPanel>  

                </Border>  
            </Grid>  

        </ControlTemplate>  
    </phone:PhoneApplicationPage.Resources>


        MessagePrompt prompt = new MessagePrompt();    
        prompt.Body = new WPUC();    
        prompt.ActionPopUpButtons.Clear();    
        prompt.Overlay = new SolidColorBrush(Color.FromArgb(155, 41, 41, 41));   
        prompt.Template = (ControlTemplate)this.Resources["MsgPropmtNoBorder"];   

        prompt.Show(); 

結果のポップアップは次のとおりです。 ここに画像の説明を入力してください

于 2012-06-16T02:46:44.087 に答える
0

MessagePrompt コントロールを少し試してみましたが、境界線を無効にしたり非表示にしたりする方法が見つかりませんでした。これは、ポップアップのような外観を提供する MessagePrompt コントロールの影のような効果です。

ただし、削除することはできませんが、MessagePrompt の Width プロパティを実際の青い UserControl (この場合は 300) に設定することで、その効果を減らすことができます。

于 2012-06-15T11:28:06.153 に答える