The default dialogs for the WPF RadWindow (Prompt, Alert, Confirm) do not seem to allow sizing of the content of the message. I have tried imbedding controls to set width and maxwidth, but I need to use a MaxWidth to prevent horizontal scrollbars. Ideally a Maxwidth parameter would be available allowing longer text message to spread out.
The code below works, but I'm restricted to a narrow dialog.
Dim Scroller As New ScrollViewer
Dim TextBlk As New Controls.TextBlock()
With Scroller
.HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled
.VerticalScrollBarVisibility = ScrollBarVisibility.Auto
If Owner IsNot Nothing Then
.MaxHeight = (WPFScreen.GetScreenFromElement(Owner).WorkingArea.Height - 100) 'Do not use entire height
Else
.MaxHeight = (WPFScreen.Primary.WorkingArea.Height - 300) 'Do not use entire height
End If
With TextBlk
.Margin = New Thickness(10)
.TextWrapping = TextWrapping.Wrap
.Text = Message
'We seem to be stuck with a fixed width available for our text.
'If this is increased a horizontal scrollbar appears.
.MaxWidth = 230
End With
.Content = TextBlk 'Put textblock in scroller
End With
Dim RadDialog As New DialogParameters
With RadDialog
.Content = Scroller
.DefaultPromptResultValue = DefaultValue 'Default prompt result
.DialogStartupLocation = DialogStartupLocation
.Header = Header
.IconContent = IconContent
If ThemeName.ToLower <> "expression_dark" Then ' *NoLoc*
.ModalBackground = m_SPIBackgroundBrush
End If
.Owner = Owner
.Closed = New EventHandler(Of WindowClosedEventArgs)(AddressOf OnPromptClosed) 'Reference handler for response
'.ContentStyle
'.WindowStyle
End With
RadWindow.Prompt(RadDialog)