This is a migrated thread and some comments may be shown as answers.

MessageBox with scrollable content?

2 Answers 183 Views
MessageBox
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Mirko
Top achievements
Rank 1
Mirko asked on 16 Oct 2013, 03:13 PM
Hi,
I've got just a simple question. I'd like to display MessageBox with rather lot of text that does not fit to the whole screen. Right now the RadMessageBox is not scrollable. How to achieve MessageBox with scrollable content and three buttons at the bottom?
Thanks.

2 Answers, 1 is accepted

Sort by
0
Accepted
Kiril Stanoev
Telerik team
answered on 17 Oct 2013, 02:26 PM
Hi Mirko,

Thank you for contacting us. To achieve this scenario you'll have to use a RadMessageBox with a custom ControlTemplate.

xmlns:telerikMessageBox="clr-namespace:Telerik.Windows.Controls.MessageBox;assembly=Telerik.Windows.Controls.Primitives"

<phone:PhoneApplicationPage.Resources>
    <ControlTemplate x:Key="MessageTemplate" TargetType="telerikMessageBox:RadMessageBoxControl">
        <Border Padding="12" Background="{StaticResource PhoneChromeBrush}">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="*" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <ContentControl x:Name="PART_Title" HorizontalContentAlignment="Left"
                        FontSize="{StaticResource PhoneFontSizeLarge}"
                        FontFamily="{StaticResource PhoneFontFamilySemiBold}" Margin="{StaticResource PhoneMargin}" />
                <ScrollViewer Grid.Row="1">
                    <ContentControl x:Name="PART_Message" Margin="12, 12, 12, 24" HorizontalContentAlignment="Left"
                            VerticalContentAlignment="Top" />
                </ScrollViewer>
                <CheckBox x:Name="PART_CheckBox" Grid.Row="2" HorizontalAlignment="Left" VerticalAlignment="Bottom" />
                <ContentControl Grid.Row="3" x:Name="PART_ButtonsContainer" HorizontalContentAlignment="Stretch">
                    <ContentControl.ContentTemplate>
                        <DataTemplate>
                            <StackPanel x:Name="PART_ButtonsPanel" Orientation="Horizontal"></StackPanel>
                        </DataTemplate>
                    </ContentControl.ContentTemplate>
                </ContentControl>
            </Grid>
        </Border>
    </ControlTemplate>
</phone:PhoneApplicationPage.Resources>
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
    <Button Content="Show Message" Tap="Button_Tap" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>

public partial class ID747643 : PhoneApplicationPage
{
    private ControlTemplate imageTemplate;
    public ID747643()
    {
        InitializeComponent();
        this.imageTemplate = (ControlTemplate)this.Resources["MessageTemplate"];
    }
 
    private void Button_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
        RadMessageBox.Show(this.imageTemplate, "Title", new string[] { "yes", "no" }, this.longMessage);
    }
 
    private string longMessage = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vel mollis ipsum, in mattis odio. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vehicula vulputate nunc, dictum feugiat orci varius eget. Quisque mollis malesuada fermentum. Cras aliquam mauris quam, in pellentesque risus sodales sit amet. Morbi lacinia turpis non dictum malesuada. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris eleifend euismod facilisis. Aliquam semper mi sapien, scelerisque sollicitudin lacus tincidunt et. Fusce posuere tincidunt urna at commodo. Duis et aliquet massa. Aenean et urna et dolor ultricies ultrices nec fermentum lacus. Curabitur ut nisl volutpat, varius felis non, aliquet magna. Curabitur vehicula at nibh et eleifend. Vestibulum at lectus nisi. Curabitur ut aliquet velit, vitae ornare neque. Integer tincidunt laoreet nisl, vel congue nulla lobortis a. Donec libero lacus, suscipit quis scelerisque nec, euismod id libero. Donec feugiat turpis a est elementum, ut iaculis quam porttitor. Cras ornare tortor eu porttitor placerat. Donec commodo convallis quam eu rhoncus. Etiam a consectetur justo. Aliquam quis elit diam. Donec malesuada magna sem, eget iaculis lectus posuere sit amet. Proin vehicula bibendum odio id rhoncus. Fusce pulvinar id leo lobortis placerat. Proin nibh mauris, eleifend id ornare ac, tristique ac turpis. Fusce turpis dui, ultricies sit amet aliquet eu, sodales sed nulla. Nam nec diam ac massa mattis venenatis id in neque. Praesent id dui nisl. Maecenas quis lectus id nibh interdum faucibus.";
}
 
The result from the code above would be something similar to this:


Give it a try and let us know how it works.

Regards,
Kiril Stanoev
Telerik
Have a suggestion or face a problem - you can use the Ideas & Feedback portal to submit ideas, feedback and vote for them.
0
Mirko
Top achievements
Rank 1
answered on 18 Oct 2013, 11:59 AM
Thanks, it works just fine!
Tags
MessageBox
Asked by
Mirko
Top achievements
Rank 1
Answers by
Kiril Stanoev
Telerik team
Mirko
Top achievements
Rank 1
Share this question
or