ANINDYA
asked on
Silverlight RadWindow Height
Experts
Please see the attached code.
There is a RadWindow which is having a content as TriggerUI.xaml .
this TriggerUI.xaml is open in the RadWindow.
Now my problem is I need to measure the height of the RadWindow or TriggerUI.
Actually the Height of TriggerUI.xaml is declared as Auto .
But on runtime I need to know the actual height of the TriggerUI or its parents Height ( that is the RadWindow(either of them is needed)
I have tried in the following manner.
1. double y2 = (double) (winAddEditSchedule.Height );
2.double y2 = (double)(triggerUI.Parent as FrameworkElement).Height;
But all are failed.
I need help in this matter.
Thanking you,
Anindya
Please see the attached code.
There is a RadWindow which is having a content as TriggerUI.xaml .
this TriggerUI.xaml is open in the RadWindow.
Now my problem is I need to measure the height of the RadWindow or TriggerUI.
Actually the Height of TriggerUI.xaml is declared as Auto .
But on runtime I need to know the actual height of the TriggerUI or its parents Height ( that is the RadWindow(either of them is needed)
I have tried in the following manner.
1. double y2 = (double) (winAddEditSchedule.Height
2.double y2 = (double)(triggerUI.Parent as FrameworkElement).Height;
But all are failed.
I need help in this matter.
Thanking you,
Anindya
private void ShowScheduleTaskWindow ( decimal parentIID, ScheduledParentType parentType, string parentDescription )
{
GeneralTransform mdiTransform = this.TransformToVisual ( Application.Current.RootVisual );
Point pntMdi = mdiTransform.Transform ( new Point ( 0, 0 ) );
double y1 = pntMdi.Y;
//MessageBox.Show(y1.ToString());
if ( !Globals.AllowMultipleSchedules )
{
TriggerUI triggerUI = new TriggerUI ( parentIID, parentType, parentDescription );
RadWindow winAddEditSchedule = new RadWindow ( );
double y2 = (double) (winAddEditSchedule.Height);
if ((y1 + y2) > Globals.VisibleScreenHeight)
{
pntMdi.Y = y1 - ((y1 + y2) - Globals.VisibleScreenHeight) - 150;
}
winAddEditSchedule.Content = triggerUI;
winAddEditSchedule.Header = "Create / Edit Schedule";
winAddEditSchedule.Width = 425;
winAddEditSchedule.Left = pntMdi.X + 23;
//the full function is here
private void ShowScheduleTaskWindow ( decimal parentIID, ScheduledParentType parentType, string parentDescription )
{
GeneralTransform mdiTransform = this.TransformToVisual ( Application.Current.RootVisual );
Point pntMdi = mdiTransform.Transform ( new Point ( 0, 0 ) );
double y1 = pntMdi.Y;
//MessageBox.Show(y1.ToString());
if ( !Globals.AllowMultipleSchedules )
{
TriggerUI triggerUI = new TriggerUI ( parentIID, parentType, parentDescription );
RadWindow winAddEditSchedule = new RadWindow ( );
double y2 = (double)(triggerUI.Parent as FrameworkElement).Height;
if ((y1 + y2) > Globals.VisibleScreenHeight)
{
pntMdi.Y = y1 - ((y1 + y2) - Globals.VisibleScreenHeight) - 150;
}
winAddEditSchedule.Content = triggerUI;
winAddEditSchedule.Header = "Create / Edit Schedule";
winAddEditSchedule.Width = 425;
winAddEditSchedule.Left = pntMdi.X + 23;
if ( ( pntMdi.Y + triggerUI.Height ) > Application.Current.RootVisual.RenderSize.Height )
{
double diff = ( pntMdi.Y + triggerUI.Height ) - Application.Current.RootVisual.RenderSize.Height;
winAddEditSchedule.Top = pntMdi.Y - ( diff + 20 );
}
else
{
winAddEditSchedule.Top = pntMdi.Y;
}
winAddEditSchedule.Margin = this.Margin;
winAddEditSchedule.BorderThickness = new Thickness ( -22, -22, -22, -22 );
winAddEditSchedule.ResizeMode = ResizeMode.NoResize;
winAddEditSchedule.Closed += new EventHandler<WindowClosedEventArgs> ( winAddEditSchedule_Closed );
triggerUI.OnScheduleDeleted += new EventHandler ( triggerUI_OnScheduleDeleted );
triggerUI.OnScheduleSaved += new EventHandler ( triggerUI_OnScheduleSaved );
winAddEditSchedule.ShowDialog ( );
}
else
{
SearchScheduleTaskUI taskScheduleUI = new SearchScheduleTaskUI ( parentIID, parentType );
RadWindow winSearchSchedule = new RadWindow ( );
winSearchSchedule.Content = taskScheduleUI;
winSearchSchedule.Header = "Create Schedule";
winSearchSchedule.Width = 670;
winSearchSchedule.WindowStartupLocation = Telerik.Windows.Controls.WindowStartupLocation.CenterOwner;
winSearchSchedule.BorderBackground = new SolidColorBrush ( Color.FromArgb ( 0xFF, 0x3C, 0x59, 0x07 ) );
winSearchSchedule.ResizeMode = ResizeMode.NoResize;
winSearchSchedule.ShowDialog ( );
}
}
ASKER
Expert Gewqala
As you said to try the ActualHeight property of the Radwindow should be tried so here I have tried .
please have a look on that and let me know what more can I do under that circumstances.
q.JPG
As you said to try the ActualHeight property of the Radwindow should be tried so here I have tried .
please have a look on that and let me know what more can I do under that circumstances.
q.JPG
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
One thing you could also try is accessing the ActualHeight property. Does this give you a value, when accessing the property in the control content xaml or the rad window property itself?