コード例 #1
0
ファイル: MainWindow.cs プロジェクト: ClemensT/WPF-Samples
 private void ChangeThickness(object sender, SelectionChangedEventArgs args)
 {
     var li = ((sender as ListBox).SelectedItem as ListBoxItem);
     var myThicknessConverter = new System.Windows.ThicknessConverter();
     var th1 = (Thickness) myThicknessConverter.ConvertFromString(li.Content.ToString());
     border1.BorderThickness = th1;
     bThickness.Text = "Border.BorderThickness =" + li.Content;
 }
コード例 #2
0
		public void ChangeMargin(object sender, SelectionChangedEventArgs args)
		{
			ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
            ThicknessConverter myThicknessConverter = new ThicknessConverter();
            Thickness th1 = (Thickness)myThicknessConverter.ConvertFromString(li.Content.ToString());
            text1.Margin = th1;
            String st1 = (String)myThicknessConverter.ConvertToString(text1.Margin);
            gridVal.Text = "The Margin property is set to " + st1 +".";
		}
コード例 #3
0
ファイル: MainWindow.cs プロジェクト: liuwenye2010/prj_vs2019
        private void ChangeThickness(object sender, SelectionChangedEventArgs args)
        {
            var li = ((sender as ListBox).SelectedItem as ListBoxItem);
            var myThicknessConverter = new System.Windows.ThicknessConverter();
            var th1 = (Thickness)myThicknessConverter.ConvertFromString(li.Content.ToString());

            border1.BorderThickness = th1;
            bThickness.Text         = "Border.BorderThickness =" + li.Content;
        }
コード例 #4
0
        private Thickness FromString(string value)
        {
            try
            {
                var result =  new ThicknessConverter().ConvertFromString(value) as Thickness?;
                if (!result.HasValue)
                    return new Thickness(0);

                return result.Value;

            }
            catch (Exception)
            {
                return new Thickness(0);
            }
        }
コード例 #5
0
 /// <summary>Attempts to create an instance of <see cref="T:System.Windows.Thickness" /> from a specified object. </summary>
 /// <param name="typeDescriptorContext">The context information for a type.</param>
 /// <param name="cultureInfo">The <see cref="T:System.Globalization.CultureInfo" /> of the type being converted.</param>
 /// <param name="source">The <paramref name="source" /><see cref="T:System.Object" /> being converted.</param>
 /// <returns>An instance of <see cref="T:System.Windows.Thickness" /> created from the converted <paramref name="source" />.</returns>
 /// <exception cref="T:System.ArgumentNullException">The <paramref name="source" /> object is a null reference (<see langword="Nothing" /> in Visual Basic).</exception>
 /// <exception cref="T:System.ArgumentException">The example object is not a null reference and is not a valid type that can be converted to a <see cref="T:System.Windows.Thickness" />.</exception>
 // Token: 0x06000C53 RID: 3155 RVA: 0x0002DCB0 File Offset: 0x0002BEB0
 public override object ConvertFrom(ITypeDescriptorContext typeDescriptorContext, CultureInfo cultureInfo, object source)
 {
     if (source == null)
     {
         throw base.GetConvertFromException(source);
     }
     if (source is string)
     {
         return(ThicknessConverter.FromString((string)source, cultureInfo));
     }
     if (source is double)
     {
         return(new Thickness((double)source));
     }
     return(new Thickness(Convert.ToDouble(source, cultureInfo)));
 }
コード例 #6
0
        public override object ConvertTo(ITypeDescriptorContext typeDescriptorContext, CultureInfo cultureInfo, object value, Type destinationType)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            if (null == destinationType)
            {
                throw new ArgumentNullException("destinationType");
            }
            if (!(value is Thickness))
            {
                throw new ArgumentException(SR.Get("UnexpectedParameterType", new object[]
                {
                    value.GetType(),
                    typeof(Thickness)
                }), "value");
            }
            Thickness th = (Thickness)value;

            if (destinationType == typeof(string))
            {
                return(ThicknessConverter.ToString(th, cultureInfo));
            }
            if (destinationType == typeof(InstanceDescriptor))
            {
                ConstructorInfo constructor = typeof(Thickness).GetConstructor(new Type[]
                {
                    typeof(double),
                    typeof(double),
                    typeof(double),
                    typeof(double)
                });
                return(new InstanceDescriptor(constructor, new object[]
                {
                    th.Left,
                    th.Top,
                    th.Right,
                    th.Bottom
                }));
            }
            throw new ArgumentException(SR.Get("CannotConvertType", new object[]
            {
                typeof(Thickness),
                destinationType.FullName
            }));
        }
コード例 #7
0
        private static Thickness ConvertFromString(string value, Thickness defaultValue)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(value))
                    return defaultValue;

                var converter = new ThicknessConverter();

                var result = converter.ConvertFromInvariantString(value);
                if (result == null)
                    return defaultValue;

                return (Thickness)result;
            }
            catch (Exception)
            {
                return defaultValue;
            }
        }
コード例 #8
0
 // Initialize known object types
 internal static TypeConverter CreateKnownTypeConverter(Int16 converterId)
 { 
     TypeConverter o = null;
     switch (converterId) 
     { 
         case -42: o = new System.Windows.Media.Converters.BoolIListConverter(); break;
         case -46: o = new System.ComponentModel.BooleanConverter(); break; 
         case -53: o = new System.Windows.Media.BrushConverter(); break;
         case -61: o = new System.ComponentModel.ByteConverter(); break;
         case -70: o = new System.ComponentModel.CharConverter(); break;
         case -71: o = new System.Windows.Media.Converters.CharIListConverter(); break; 
         case -87: o = new System.Windows.Media.ColorConverter(); break;
         case -94: o = new System.Windows.Input.CommandConverter(); break; 
         case -96: o = new System.Windows.Markup.ComponentResourceKeyConverter(); break; 
         case -111: o = new System.Windows.CornerRadiusConverter(); break;
         case -114: o = new System.ComponentModel.CultureInfoConverter(); break; 
         case -115: o = new System.Windows.CultureInfoIetfLanguageTagConverter(); break;
         case -117: o = new System.Windows.Input.CursorConverter(); break;
         case -124: o = new System.ComponentModel.DateTimeConverter(); break;
         case -125: o = new System.Windows.Markup.DateTimeConverter2(); break; 
         case -130: o = new System.ComponentModel.DecimalConverter(); break;
         case -137: o = new System.Windows.Markup.DependencyPropertyConverter(); break; 
         case -138: o = new System.Windows.DialogResultConverter(); break; 
         case -174: o = new System.Windows.Media.DoubleCollectionConverter(); break;
         case -175: o = new System.ComponentModel.DoubleConverter(); break; 
         case -176: o = new System.Windows.Media.Converters.DoubleIListConverter(); break;
         case -188: o = new System.Windows.DurationConverter(); break;
         case -190: o = new System.Windows.DynamicResourceExtensionConverter(); break;
         case -201: o = new System.Windows.ExpressionConverter(); break; 
         case -204: o = new System.Windows.FigureLengthConverter(); break;
         case -215: o = new System.Windows.Media.FontFamilyConverter(); break; 
         case -216: o = new System.Windows.FontSizeConverter(); break; 
         case -218: o = new System.Windows.FontStretchConverter(); break;
         case -220: o = new System.Windows.FontStyleConverter(); break; 
         case -222: o = new System.Windows.FontWeightConverter(); break;
         case -240: o = new System.Windows.Media.GeometryConverter(); break;
         case -256: o = new System.Windows.GridLengthConverter(); break;
         case -267: o = new System.ComponentModel.GuidConverter(); break; 
         case -286: o = new System.Windows.Media.ImageSourceConverter(); break;
         case -299: o = new System.Windows.Input.InputScopeConverter(); break; 
         case -301: o = new System.Windows.Input.InputScopeNameConverter(); break; 
         case -306: o = new System.ComponentModel.Int16Converter(); break;
         case -314: o = new System.Windows.Media.Int32CollectionConverter(); break; 
         case -315: o = new System.ComponentModel.Int32Converter(); break;
         case -319: o = new System.Windows.Int32RectConverter(); break;
         case -324: o = new System.ComponentModel.Int64Converter(); break;
         case -338: o = new System.Windows.Input.KeyConverter(); break; 
         case -340: o = new System.Windows.Input.KeyGestureConverter(); break;
         case -342: o = new System.Windows.KeySplineConverter(); break; 
         case -344: o = new System.Windows.KeyTimeConverter(); break; 
         case -348: o = new System.Windows.LengthConverter(); break;
         case -387: o = new System.Windows.Media.Media3D.Matrix3DConverter(); break; 
         case -392: o = new System.Windows.Media.MatrixConverter(); break;
         case -410: o = new System.Windows.Input.ModifierKeysConverter(); break;
         case -411: o = new System.Windows.Input.MouseActionConverter(); break;
         case -415: o = new System.Windows.Input.MouseGestureConverter(); break; 
         case -423: o = new System.Windows.NullableBoolConverter(); break;
         case -445: o = new System.Windows.Media.PathFigureCollectionConverter(); break; 
         case -453: o = new System.Windows.Media.PixelFormatConverter(); break; 
         case -462: o = new System.Windows.Media.Media3D.Point3DCollectionConverter(); break;
         case -463: o = new System.Windows.Media.Media3D.Point3DConverter(); break; 
         case -467: o = new System.Windows.Media.Media3D.Point4DConverter(); break;
         case -473: o = new System.Windows.Media.PointCollectionConverter(); break;
         case -474: o = new System.Windows.PointConverter(); break;
         case -475: o = new System.Windows.Media.Converters.PointIListConverter(); break; 
         case -492: o = new System.Windows.PropertyPathConverter(); break;
         case -498: o = new System.Windows.Media.Media3D.QuaternionConverter(); break; 
         case -507: o = new System.Windows.Media.Media3D.Rect3DConverter(); break; 
         case -511: o = new System.Windows.RectConverter(); break;
         case -521: o = new System.Windows.Media.Animation.RepeatBehaviorConverter(); break; 
         case -538: o = new System.Windows.Markup.RoutedEventConverter(); break;
         case -545: o = new System.ComponentModel.SByteConverter(); break;
         case -563: o = new System.ComponentModel.SingleConverter(); break;
         case -568: o = new System.Windows.Media.Media3D.Size3DConverter(); break; 
         case -572: o = new System.Windows.SizeConverter(); break;
         case -615: o = new System.ComponentModel.StringConverter(); break; 
         case -619: o = new System.Windows.StrokeCollectionConverter(); break; 
         case -633: o = new System.Windows.TemplateBindingExpressionConverter(); break;
         case -635: o = new System.Windows.TemplateBindingExtensionConverter(); break; 
         case -637: o = new System.Windows.Markup.TemplateKeyConverter(); break;
         case -645: o = new System.Windows.TextDecorationCollectionConverter(); break;
         case -655: o = new System.Windows.ThicknessConverter(); break;
         case -664: o = new System.ComponentModel.TimeSpanConverter(); break; 
         case -681: o = new System.Windows.Media.TransformConverter(); break;
         case -692: o = new System.Windows.Markup.TypeTypeConverter(); break; 
         case -696: o = new System.ComponentModel.UInt16Converter(); break; 
         case -698: o = new System.ComponentModel.UInt32Converter(); break;
         case -700: o = new System.ComponentModel.UInt64Converter(); break; 
         case -701: o = new System.Windows.Media.Converters.UShortIListConverter(); break;
         case -705: o = new System.UriTypeConverter(); break;
         case -714: o = new System.Windows.Media.Media3D.Vector3DCollectionConverter(); break;
         case -715: o = new System.Windows.Media.Media3D.Vector3DConverter(); break; 
         case -722: o = new System.Windows.Media.VectorCollectionConverter(); break;
         case -723: o = new System.Windows.VectorConverter(); break; 
         case -757: o = new System.Windows.Markup.XmlLanguageConverter(); break; 
     }
     return o; 
 }
コード例 #9
0
		private double CreateFieldDefinitions (Grid ButtonGrid)
			{
			GridLengthConverter GLConverter = new GridLengthConverter ();
			ThicknessConverter TConverter = new ThicknessConverter ();
			BrushConverter BConverter = new BrushConverter ();
			int RowIndex = 0;
			int NumberOfAllLines = 0;
			double LineHeight = -1;
			foreach (DataColumn Column in m_RowToProcess.Table.Columns)
				{
				if (Column.ColumnName == UserData.m_PrimaryKeyName)
					continue;
				int NumberOfLines = GetNumberOfLines (Column);
				Label ColumnLabel = new Label ();
				ButtonGrid.Children.Add (ColumnLabel);
				Grid.SetColumn (ColumnLabel, 0);
				Grid.SetRow (ColumnLabel, RowIndex);
				ColumnLabel.VerticalAlignment = VerticalAlignment.Top;
				if (String.IsNullOrEmpty (Column.Caption))
					ColumnLabel.Content = Column.ColumnName;
				else
					ColumnLabel.Content = Column.Caption;
				if (m_TableLayoutDefinition.LabelFontSize != -1)
					ColumnLabel.FontSize = m_TableLayoutDefinition.LabelFontSize;
				if (LineHeight == -1)
					{
					ColumnLabel.UpdateLayout ();
					LineHeight = ColumnLabel.DesiredSize.Height;
					}
				Border TextBlockBorder = new Border ();
				ButtonGrid.Children.Add (TextBlockBorder);
				TextBlockBorder.HorizontalAlignment = HorizontalAlignment.Stretch;
				TextBlockBorder.VerticalAlignment = VerticalAlignment.Stretch;
				Grid.SetColumn (TextBlockBorder, 1);
				Grid.SetRow (TextBlockBorder, RowIndex);
				TextBlockBorder.BorderThickness = (Thickness)TConverter.ConvertFromString ("1");
				TextBlockBorder.BorderBrush = (Brush)BConverter.ConvertFromString ("Black");
				if ((Column.DataType.ToString () == "System.String")
					|| (Column.DataType.ToString () == "System.Guid"))
					ProcessStringField (ButtonGrid, TextBlockBorder, Column,
								RowIndex, LineHeight, NumberOfLines);
				NumberOfAllLines += NumberOfLines;
				RowIndex++;
				}
			return (double)((NumberOfAllLines + 2) * LineHeight) + (NumberOfAllLines * 2);
			}
コード例 #10
0
ファイル: MainWindow.xaml.cs プロジェクト: heinzsack/DEV
		private bool ProcessMessageFunction (String CommandFileName, XmlNode Command)
			{
			String ShowOrHide = Command.Attributes [CVM.CommonValues.CONFIG_MANAGER_TYPE].Value;
			if (ShowOrHide == CVM.CommonValues.CONFIG_MANAGER_TYPE_HIDE_MESSAGE)
				{
				if (m_MessageForm != null)
					{
					m_MessageForm.Close ();
					m_MessageForm = null;
					return true;
					}
				}
			XmlNode MessageTextNode = Command.SelectSingleNode ("child::" + CVM.CommonValues.CONFIG_MANAGER_EXECUTEABLE);
			if (MessageTextNode == null)
				{
				WMB.Basics.ReportErrorToEventViewer ("WPMediaSystemManager.ProcessMessageFunction",
						"Es fehlt der \"" + CVM.CommonValues.CONFIG_MANAGER_EXECUTEABLE + "\" Eintrag " +
						CommandFileName);
				return true;
				}
			BrushConverter BRConverter = new BrushConverter ();
			ThicknessConverter TIConverter = new ThicknessConverter ();
			if (m_MessageForm == null)
				{
				m_MessageForm = new Window ();
				m_MessageForm.Left = 0;
				m_MessageForm.Top = 0;
				System.Drawing.Rectangle ScreenRect = CVM.CommonValues.ConvertPhysicalScreenBounds (CVM.CommonValues.GetPhysicalScreenBounds ()) [0];
				m_MessageForm.Width = ScreenRect.Width;
				m_MessageForm.Height = ScreenRect.Height;
				m_MessageForm.Background = (Brush) BRConverter.ConvertFromString ("Blue");
				m_MessageForm.WindowStyle = System.Windows.WindowStyle.None;
				m_MessageForm.Icon = null;
				m_MessageForm.Topmost = true;
				m_MessageForm.Cursor = Cursors.Wait;
				}
			if (m_MessageForm.Content != null)
				{
				m_MessageForm.Content = null;
				}
			Grid RootGrid = m_XAMLHandling.CreateGrid (new int [] { 2, 10, 2 }, new int [] { 2, 8, 2 });
			m_MessageForm.Content = RootGrid;
			System.Windows.Controls.TextBox MessageTextBox = new TextBox ();
			RootGrid.Children.Add (MessageTextBox);
			Grid.SetColumn (MessageTextBox, 1);
			Grid.SetRow (MessageTextBox, 1);
			MessageTextBox.Text = MessageTextNode.InnerText;
			MessageTextBox.TextAlignment = TextAlignment.Center;
			MessageTextBox.TextWrapping = TextWrapping.Wrap;
			MessageTextBox.Foreground = (Brush) BRConverter.ConvertFromString ("White");
			MessageTextBox.Background = (Brush) BRConverter.ConvertFromString ("Blue");
			MessageTextBox.FontFamily = new FontFamily ("Interstate");
			MessageTextBox.FontSize = m_MessageForm.Height / 15;
			MessageTextBox.FontWeight = FontWeights.Bold;
			MessageTextBox.BorderThickness = (Thickness) TIConverter.ConvertFromString ("0");
			MessageTextBox.IsReadOnly = true;
			m_MessageForm.Show ();
			return true;
			}
コード例 #11
0
		private double CreateFieldDefinitions (Grid ButtonGrid)
			{
			GridLengthConverter GLConverter = new GridLengthConverter ();
			ThicknessConverter TConverter = new ThicknessConverter ();
			BrushConverter BConverter = new BrushConverter ();
			int RowIndex = 0;
			int NumberOfAllLines = 0;
			double LineHeight = -1;
			foreach (DataColumn Column in m_RowToProcess.Table.Columns)
				{
				int NumberOfLines = GetNumberOfLines (Column);
				Label ColumnLabel = new Label ();
				ButtonGrid.Children.Add (ColumnLabel);
				Grid.SetColumn (ColumnLabel, 0);
				Grid.SetRow (ColumnLabel, RowIndex);
				ColumnLabel.VerticalAlignment = VerticalAlignment.Top;
				if (String.IsNullOrEmpty (Column.Caption))
					ColumnLabel.Content = Column.ColumnName;
				else
					ColumnLabel.Content = Column.Caption;
				if (LineHeight == -1)
					{
					ColumnLabel.UpdateLayout ();
					LineHeight = ColumnLabel.DesiredSize.Height;
					}
				Border TextBlockBorder = new Border ();
				ButtonGrid.Children.Add (TextBlockBorder);
				Grid.SetColumn (TextBlockBorder, 1);
				Grid.SetRow (TextBlockBorder, RowIndex);
				TextBlockBorder.BorderThickness = (Thickness)TConverter.ConvertFromString ("1");
				TextBlockBorder.BorderBrush = (Brush)BConverter.ConvertFromString ("Black");
				TextBox ColumnText = new TextBox ();
				TextBlockBorder.Child = ColumnText;
				ColumnText.TextWrapping = TextWrapping.Wrap;
				CVM.CommonValues.SelectionDefinition SpecialFieldProcessing =
						GetSelectionDefinition (m_RowToProcess.Table.TableName, Column.ColumnName);
				if (String.IsNullOrEmpty (SpecialFieldProcessing.m_TableName))
					{
					ColumnText.Text = m_RowToProcess [Column.ColumnName].ToString ();
					Grid.SetColumnSpan (TextBlockBorder, 2);
					}
				else
					{
					if ((m_UpdateAllowed == true)
						&& (SpecialFieldProcessing.m_UpdateAble == true))
						{
						Grid.SetColumnSpan (TextBlockBorder, 1);
						Button OpenSelection = new Button ();
						OpenSelection.Content = "....";
						Grid.SetColumn (OpenSelection, 2);
						Grid.SetRow (OpenSelection, RowIndex);
						OpenSelection.IsEnabled = true;
						OpenSelection.Tag = SpecialFieldProcessing;
						OpenSelection.Click += new RoutedEventHandler (OpenSelection_Click);
						ButtonGrid.Children.Add (OpenSelection);
						}
					if (GetReadableTextForEntryCall == null)
						ColumnText.Text = "Fehler - GetReadableTextForEntryCall not defined";
					else
						ColumnText.Text = GetReadableTextForEntryCall
							(this, SpecialFieldProcessing.m_ForeignTableName, m_RowToProcess [Column.ColumnName].ToString ());
					}
				ColumnText.Height = NumberOfLines * LineHeight;

				if ((m_UpdateAllowed == true)
					&& (m_PrimaryKeyName != Column.ColumnName))
					{
					ColumnText.IsEnabled = true;
					ColumnText.Tag = Column.ColumnName;
					m_UpdateableControls.Add (ColumnText);
					}
				else
					{
					ColumnText.IsEnabled = false;
					}
				NumberOfAllLines += NumberOfLines;
				RowIndex++;
				}
			return (double) ((NumberOfAllLines + 2) * LineHeight) + (NumberOfAllLines * 2);
			}
コード例 #12
0
 public void setTargetTextPadding(String padding)
 {
     ThicknessConverter thickCon = new ThicknessConverter();
     _canvasEl.Padding = (Thickness) thickCon.ConvertFromString(padding);
 }
コード例 #13
0
ファイル: MapBasics.cs プロジェクト: heinzsack/DEV
 public void FillDrawingTracks(GeometryInfo GeoInfo, DrawingContext Context, List<DrawAbleTrack> mTracks)
     {
     ThicknessConverter TCV = new ThicknessConverter();
     try
         {
         // Draw tracks...
         foreach (DrawAbleTrack t in mTracks)
             {
             int px = 0, py = 0; // Initialised only to pacify the compiler
             int tx, ty;
             bool first = true;
             foreach (TrackPoint p in t.Points)
                 {
                 LatLonToClientPos(GeoInfo, p.Lat, p.Lon, out tx, out ty);
                 if (!first)
                     {
                     System.Windows.Media.Pen ActuallyUsed = new System.Windows.Media.Pen
                         (t.PenToUse.Brush, GeoInfo.Width*t.PenToUse.Thickness/1500)
                         {
                         StartLineCap = PenLineCap.Round,
                         EndLineCap = PenLineCap.Round
                         };
                     Context.DrawLine(ActuallyUsed, new Point(px, py),
                         new Point(tx, ty));
                     }
                 px = tx;
                 py = ty;
                 first = false;
                 }
             }
         }
     catch (Exception Excp)
         {
         MessageBox.Show("Drawing Tracks Exception: " + Excp.ToString());
         }
     }
コード例 #14
0
ファイル: PrintOut.cs プロジェクト: heinzsack/DEV
        private void CreateProjektForFaerbigeProjektKartenPage(FlowDocument ActuallDocument, DataRow ProjektRow,
            DataTable ConnectedActivities, DataTable Plakate, String PrintThisSecurityGroup,
            bool FullDataPresentationIsTrue, bool ShowDiskussionselemente, bool ShowPlakate = false)
            {
            BrushConverter BRConverter = new BrushConverter();
            ThicknessConverter ThickConverter = new ThicknessConverter();
            FontWeightConverter FWConverter = new FontWeightConverter();

            String ArbeitsGruppenNameID = ProjektRow["ArbeitsGruppenNameID"].ToString();
            String ArbeitsGruppenBeschreibung = String.Empty;
            foreach (DataRow AGRow in Basics.Instance.ArbeitsGruppen.Values)
                {
                if (AGRow["NameID"].ToString() == ArbeitsGruppenNameID)
                    {
                    ArbeitsGruppenBeschreibung = AGRow["LangName"].ToString();
                    break;
                    }
                }
            String Ortsteil = ProjektRow["Ortsteil"].ToString();
            String OrtsName = DataWrapper.Instance.GetOrteBezeichnung(ProjektRow);
            String NameID = ProjektRow["NameID"].ToString();
            String Wertigkeit = "Der Vorschlag hat keine Wertigkeitspunkte erhalten";
            if ((System.Guid) ProjektRow["ZustaendigID"] != System.Guid.Parse("EF0EFA6B-6884-4B54-9FDE-BCC575AE0D2A"))
                {
                Wertigkeit = "Für diesen Vorschlag ist nicht der "
                             +
                             Basics.Instance.Zustaendig["EF0EFA6B-6884-4B54-9FDE-BCC575AE0D2A".ToLower()]["NameID"]
                                 .ToString() +
                             " zuständig, sondern die Zuständigkeit ist \"" + ProjektRow["Zustaendig"].ToString() + "\"";
                }
            if ((ProjektRow["Wertigkeit"] != Convert.DBNull)
                && (Convert.ToInt32(ProjektRow["Wertigkeit"]) > 0))
                {
                Wertigkeit = "Das Projekt hat " + ProjektRow["Wertigkeit"].ToString() + " Wertigkeitspunkte erhalten";
                }
            String ProjektLangBeschreibung = ProjektRow["ProjektLangBeschreibung"].ToString();
            String NumericProjektID = ProjektRow["NumericProjektID"].ToString().Substring(3);
            String SymbolFarbe = GetSymbolColor(ConnectedActivities);

            //String Type = ProjektRow ["ProjektTyp"].ToString ();
            //String Wer = ProjektRow ["Wer"].ToString ();
            String OeffentlicheAktivitaetsInfo = GetOeffentlicheAktivitaetsInfo(ConnectedActivities);
//			ProjektRow ["TypenBeschreibung"].ToString ();


            Section ProjektSection = new Section();
            Paragraph NewPage = new Paragraph();
            NewPage.BreakPageBefore = true;
            ProjektSection.Blocks.Add(NewPage);
            ProjektSection.BreakPageBefore = true;
            ProjektSection.BorderThickness = (Thickness) ThickConverter.ConvertFromString("2");
            ProjektSection.BorderBrush = (Brush) BRConverter.ConvertFromString("Blue");
            ProjektSection.Tag = ProjektRow;

            TextPointer Start = ActuallDocument.ContentStart;
            Paragraph PArbeitsGruppenNameID = null;
            if (FullDataPresentationIsTrue)
                PArbeitsGruppenNameID = new Paragraph(new Run(ArbeitsGruppenNameID + " - " + ArbeitsGruppenBeschreibung
                                                              + "    (" + GetSortierFolge(ProjektRow) + ")"));
            else
                PArbeitsGruppenNameID = new Paragraph(new Run(ArbeitsGruppenNameID + " - " + ArbeitsGruppenBeschreibung
                                                              + "    (" + SymbolFarbe + " - " +
                                                              GetSortierFolge(ProjektRow) + ")"));
            PArbeitsGruppenNameID.FontSize = 14;
            PArbeitsGruppenNameID.BreakPageBefore = true;
            ProjektSection.Blocks.Add(PArbeitsGruppenNameID);

            List<String> BetreuerListe = WordUp23.DataWrapper.Instance.GetArbeitsGruppenMitarbeiter
                (ProjektRow, "8C2645EF-EED3-4169-8E63-DAE1F5CB55C6", (FullDataPresentationIsTrue == false)); // Betreuer
            Paragraph PArbeitsGruppenBetreuerHeadLine = new Paragraph(new Run("Verantwortliche Betreuer"));
            PArbeitsGruppenBetreuerHeadLine.FontSize = 8;
            PArbeitsGruppenBetreuerHeadLine.TextAlignment = TextAlignment.Right;
            ProjektSection.Blocks.Add(PArbeitsGruppenBetreuerHeadLine);
            foreach (String BetreuerDaten in BetreuerListe)
                {
                Paragraph PArbeitsGruppenBetreuer = new Paragraph(new Run(BetreuerDaten));
                PArbeitsGruppenBetreuer.FontSize = 10;
                PArbeitsGruppenBetreuer.TextAlignment = TextAlignment.Right;
                ProjektSection.Blocks.Add(PArbeitsGruppenBetreuer);
                }

            Paragraph PIntermediate1 = new Paragraph(new Run(""));
            PIntermediate1.FontSize = 10;
            PIntermediate1.Inlines.Add(new LineBreak());
            ProjektSection.Blocks.Add(PIntermediate1);

            Paragraph PProjektName = new Paragraph(new Run(Ortsteil + " - " + OrtsName + " - " + NameID));
            PProjektName.Inlines.Add(new LineBreak());
            PProjektName.FontSize = 18;
            PProjektName.FontWeight = (FontWeight) FWConverter.ConvertFromString("Bold");
            ProjektSection.Blocks.Add(PProjektName);

            Paragraph PProjektLangBeschreibung = new Paragraph(new Run(ProjektLangBeschreibung));
            //PProjektLangBeschreibung.Inlines.Add (new LineBreak ());
            PProjektLangBeschreibung.FontSize = 28;
            PProjektLangBeschreibung.TextAlignment = TextAlignment.Center;
            PProjektLangBeschreibung.FontWeight = (FontWeight) FWConverter.ConvertFromString("Bold");
            ProjektSection.Blocks.Add(PProjektLangBeschreibung);

            Paragraph PlakatHeadLineParagraph = new Paragraph();
            PlakatHeadLineParagraph.Inlines.Add(new LineBreak());
            PlakatHeadLineParagraph.Inlines.Add(new Run(Wertigkeit));
            PlakatHeadLineParagraph.Inlines.Add(new LineBreak());
            ActuallDocument.Blocks.Add(ProjektSection);

            if (ShowPlakate)
                {
                PlakatHeadLineParagraph.Inlines.Add(
                    new Run("Dieses/r Projekt/Vorschlag entstand aus folgenden Plakateinträgen:"));
                PlakatHeadLineParagraph.Inlines.Add(new LineBreak());
                PlakatHeadLineParagraph.FontSize = 12;
                ProjektSection.Blocks.Add(PlakatHeadLineParagraph);
                FlowDocumentBasis PlakatDoc = new FlowDocumentBasis();
                ActuallDocument.Blocks.Add(PlakatDoc.FillPlakateTable(String.Empty, String.Empty, Plakate));
                ActuallDocument.Blocks.LastBlock.Margin = new Thickness(30, 0, 0, 0);
                }
            Paragraph NewLineParagraph = new Paragraph(new Run(""));
            NewLineParagraph.FontSize = 10;
            NewLineParagraph.Inlines.Add(new LineBreak());
            ActuallDocument.Blocks.Add(NewLineParagraph);

            Paragraph OeffAktivitaet = new Paragraph(new Run(OeffentlicheAktivitaetsInfo));
            OeffAktivitaet.Inlines.Add(new LineBreak());
            ActuallDocument.Blocks.Add(OeffAktivitaet);

            FlowDocumentBasis AktivitaetDoc = new FlowDocumentBasis();
            ActuallDocument.Blocks.Add(AktivitaetDoc.FillActivitiesTable(PrintThisSecurityGroup, ConnectedActivities,
                new List<String>() {"FF793540-F928-4D38-BC42-0C61E9CCD649"}));
            ActuallDocument.Blocks.LastBlock.Margin = new Thickness(30, 0, 0, 10);


            Section FinalProjektSection = new Section();
            if (ShowDiskussionselemente)
                {
                String Line1 = "Soll weiter verfolgt werden ja / nein _________________________________________________";
                String Line2 =
                    "Wenn Begehung erforderlich - Treffpunkt / wann (Datum&Uhrzeit): ________________________";
                String Line3 = "Kontaktperson(en) bitte mit Name & HandyNummer: ___________________________________";
                //String MoeglicheBegehungsTermine = String.Join ("\r\n", GetMoeglicheBegehungen ().ToArray ());

                Paragraph PFormularTeil1 = new Paragraph(new LineBreak());
                PFormularTeil1.FontSize = 14;
                PFormularTeil1.Inlines.Add(new Run(Line1));
                PFormularTeil1.Inlines.Add(new LineBreak());
                PFormularTeil1.Inlines.Add(new LineBreak());
                FinalProjektSection.Blocks.Add(PFormularTeil1);
                Paragraph PFormularTeil2 = new Paragraph(new Run(Line2));
                PFormularTeil2.FontSize = 14;
                FinalProjektSection.Blocks.Add(PFormularTeil2);

                PFormularTeil2.Inlines.Add(new LineBreak());
                PFormularTeil2.Inlines.Add(new LineBreak());
                Paragraph PFormularTeil3 = new Paragraph(new Run(Line3));
                PFormularTeil3.FontSize = 14;
                PFormularTeil3.Inlines.Add(new LineBreak());
                PFormularTeil3.Inlines.Add(new LineBreak());
                FinalProjektSection.Blocks.Add(PFormularTeil3);

                Paragraph PVorschlagHeadLine = new Paragraph(new Run("Termin Möglichkeiten"));
                PVorschlagHeadLine.FontSize = 8;
                PVorschlagHeadLine.TextAlignment = TextAlignment.Right;
                PVorschlagHeadLine.Inlines.Add(new LineBreak());
                FinalProjektSection.Blocks.Add(PVorschlagHeadLine);

                foreach (String MoeglicherBegehungsTermin in GetMoeglicheBegehungen())
                    {
                    Paragraph PMoeglicherBegehungsTermin = new Paragraph(new Run(MoeglicherBegehungsTermin));
                    PMoeglicherBegehungsTermin.TextAlignment = TextAlignment.Right;
                    PMoeglicherBegehungsTermin.FontSize = 10;
                    FinalProjektSection.Blocks.Add(PMoeglicherBegehungsTermin);
                    }

                int PageLengthUpToNow = 0;
                TextPointer Stop = ActuallDocument.ContentEnd;
                PageLengthUpToNow = Start.GetOffsetToPosition(Stop);
                int LoopCounter = (1350 - PageLengthUpToNow)/90;
                while (LoopCounter-- > 0)
                    {
                    Paragraph PIntermediate3 = new Paragraph(new Run(""));
                    PIntermediate3.Inlines.Add(new LineBreak());
                    FinalProjektSection.Blocks.Add(PIntermediate3);
                    }
                }
            Paragraph PPageFooter = new Paragraph(new Run("Karte Nr.: " + GetSortierFolge(ProjektRow)
                                                          + ", Erzeugt am " +
                                                          DateTime.Now.ToString(WMB.Basics.ISO_DATE_TIME_FORMAT)));
            PPageFooter.FontSize = 10;
            PPageFooter.Inlines.Add(new LineBreak());
            PPageFooter.Inlines.Add(new LineBreak());
            PPageFooter.Inlines.Add(new LineBreak());
            PPageFooter.Inlines.Add(new LineBreak());
            PPageFooter.Inlines.Add(new Run("InsertPageBreakHere"));
            FinalProjektSection.Blocks.Add(PPageFooter);

            ActuallDocument.Blocks.Add(FinalProjektSection);

            //if (FullDataPresentationIsTrue)
            //    ProjektBlock.Blocks.Add (new PageBreak ())
            }
コード例 #15
0
ファイル: CommonUserInterface.cs プロジェクト: heinzsack/DEV
        private double CreateFieldDefinitions (Grid ButtonGrid, Grid ContentGrid)
            {
            GridLengthConverter GLConverter = new GridLengthConverter ();
            ThicknessConverter TConverter = new ThicknessConverter ();
            BrushConverter BConverter = new BrushConverter ();
            RowDefinition ButtonRow = new RowDefinition ();
            ButtonRow.Height = (GridLength)GLConverter.ConvertFromString ("20");
            RowDefinition ContentRow = new RowDefinition ();
            ContentRow.Height = (GridLength)GLConverter.ConvertFromString ("*");
            RootGrid.RowDefinitions.Add (ButtonRow);
            RootGrid.RowDefinitions.Add (ContentRow);

            RootGrid.Children.Add (ButtonGrid);
            Grid.SetRow (ButtonGrid, 0);
            Grid.SetColumn (ButtonGrid, 1);

            ScrollViewer ScrollArea = new ScrollViewer ();
            RootGrid.Children.Add (ScrollArea);
            Grid.SetRow (ScrollArea, 1);
            Grid.SetColumn (ScrollArea, 0);
            Grid.SetColumnSpan (ScrollArea, 3);
            ScrollArea.Content = ContentGrid;

            int RowIndex = 0;
            int NumberOfAllLines = 0;
            double LineHeight = -1;
            WMB.TableContentDefinition SpecialFieldProcessing;
            foreach (DataColumn Column in m_RowToProcess.Table.Columns)
                {
                if (IsSkipingColumns (Column.ColumnName))
                    continue;
                SpecialFieldProcessing = DataBase.GetColumnDefinition 
                    (m_RowToProcess.Table.TableName, Column.ColumnName, true);
                Label ColumnLabel = new Label ();
                ColumnLabel.FontSize *= 1.3;
                if (!String.IsNullOrEmpty (SpecialFieldProcessing.m_ToolTip))
                    ColumnLabel.ToolTip = SpecialFieldProcessing.m_ToolTip;
                ContentGrid.Children.Add (ColumnLabel);
                Grid.SetColumn (ColumnLabel, 0);
                Grid.SetRow (ColumnLabel, RowIndex);
                ColumnLabel.VerticalAlignment = VerticalAlignment.Top;
                if (!String.IsNullOrEmpty (SpecialFieldProcessing.m_ReadableName))
                    Column.Caption = SpecialFieldProcessing.m_ReadableName;
                if (String.IsNullOrEmpty (Column.Caption))
                    ColumnLabel.Content = Column.ColumnName;
                else
                    ColumnLabel.Content = Column.Caption;
                if (LineHeight == -1)
                    {
                    ColumnLabel.UpdateLayout ();
                    LineHeight = ColumnLabel.DesiredSize.Height;
                    }
                if (!String.IsNullOrEmpty (SpecialFieldProcessing.m_Help))
                    {
                    ColumnLabel.Tag = SpecialFieldProcessing.m_Help;
                    ColumnLabel.MouseRightButtonUp += new MouseButtonEventHandler (ColumnLabel_MouseRightButtonUp);
                    }

                int NumberOfLines = GetNumberOfLines (m_RowToProcess, Column);
                Border TextBlockBorder = new Border ();
                ContentGrid.Children.Add (TextBlockBorder);
                Grid.SetColumn (TextBlockBorder, 1);
                Grid.SetRow (TextBlockBorder, RowIndex);
                TextBlockBorder.BorderThickness = (Thickness)TConverter.ConvertFromString ("1");
                TextBlockBorder.BorderBrush = (Brush)BConverter.ConvertFromString ("Black");
                TextBox ColumnText = new TextBox ();
                ColumnText.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
                ColumnText.AcceptsReturn = true;
                TextBlockBorder.Child = ColumnText;
                ColumnText.TextWrapping = TextWrapping.Wrap;
                if ((m_UpdateAllowed == true)
                    && (m_PrimaryKeyName != Column.ColumnName))
                    {
                    ColumnText.IsEnabled = true;
                    ColumnText.Tag = Column.ColumnName;
                    m_UpdateableControls.Add (ColumnText);
                    }
                else
                    {
                    ColumnText.IsEnabled = false;
                    }
                if (((String.IsNullOrEmpty (SpecialFieldProcessing.m_TableName))
                     && (SpecialFieldProcessing.m_DefaultContentRules == null))
                    || (SpecialFieldProcessing.m_TypeOfSpecialFieldProcessing
                        == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_CONNECTED_VALUE))
                    {
                    ColumnText.Text = m_RowToProcess [Column.ColumnName].ToString ();
                    Grid.SetColumnSpan (TextBlockBorder, 2);
                    }
                else
                    {
                    if ((m_UpdateAllowed == true)
                        && (SpecialFieldProcessing.m_UpdateAble == true))
                        {
                        Grid.SetColumnSpan (TextBlockBorder, 1);
                        Button OpenSelection = new Button ();
                        OpenSelection.Content = "....";
                        Grid.SetColumn (OpenSelection, 2);
                        Grid.SetRow (OpenSelection, RowIndex);
                        OpenSelection.IsEnabled = true;
                        OpenSelection.Tag = SpecialFieldProcessing;
                        OpenSelection.Click += new RoutedEventHandler (OpenSelection_Click);
                        ContentGrid.Children.Add (OpenSelection);
                        }
                    if (GetReadableTextForEntryCall == null)
                        ColumnText.Text = "Fehler - GetReadableTextForEntryCall not defined";
                    else
                        {
                        if (SpecialFieldProcessing.m_TypeOfSpecialFieldProcessing
                            == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_CONNECTOR_ID)
                            {
                            ColumnText.Text = GetReadableTextForEntryCall
                                (this, SpecialFieldProcessing.m_ForeignTableName,
                                    m_RowToProcess [Column.ColumnName].ToString ());
                            }
                        else
                            {
                            ColumnText.Text = m_RowToProcess [Column.ColumnName].ToString ();
                            }
                        ColumnText.IsReadOnly = true;
                        ColumnText.IsEnabled = false;
                        }
                    }
                //ColumnText.Height = NumberOfLines * LineHeight;

                NumberOfAllLines += NumberOfLines;
                RowIndex++;
                }
            return (double)((NumberOfAllLines + 2) * LineHeight) + (NumberOfAllLines * 2);
            }
コード例 #16
0
 // Token: 0x06000C40 RID: 3136 RVA: 0x0002D977 File Offset: 0x0002BB77
 internal string ToString(CultureInfo cultureInfo)
 {
     return(ThicknessConverter.ToString(this, cultureInfo));
 }
コード例 #17
0
 /// <summary>Returns the string representation of the <see cref="T:System.Windows.Thickness" /> structure.</summary>
 /// <returns>A <see cref="T:System.String" /> that represents the <see cref="T:System.Windows.Thickness" /> value.</returns>
 // Token: 0x06000C3F RID: 3135 RVA: 0x0002D965 File Offset: 0x0002BB65
 public override string ToString()
 {
     return(ThicknessConverter.ToString(this, CultureInfo.InvariantCulture));
 }
コード例 #18
0
		void InsertDataBlock (bool Compressed, String HeadLineText, DataTable Structure,
			DataTable ContentTable, DataRow Content, StackPanel Root)
			{
			if (Compressed)
				{
				InsertDataString (Compressed, HeadLineText, Structure,
									ContentTable, Content, Root);
				return;
				}
			GridLengthConverter GLConverter = new GridLengthConverter ();
			ThicknessConverter TConverter = new ThicknessConverter ();
			BrushConverter BConverter = new BrushConverter ();
			Grid BlockGrid = new Grid ();
			Root.Children.Add (BlockGrid);
			// HeadLine Row
			RowDefinition HeadLineRow = new RowDefinition ();
			HeadLineRow.Height = (GridLength)GLConverter.ConvertFromString ("*");
			BlockGrid.RowDefinitions.Add (HeadLineRow);
			// Content Rows
			foreach (DataColumn Column in Structure.Columns)
				{
				int NumberOfLines = GetNumberOfLines (Column);
				RowDefinition Row = new RowDefinition ();
				Row.Height = (GridLength)GLConverter.ConvertFromString (Convert.ToString (NumberOfLines) + "*");
				BlockGrid.RowDefinitions.Add (Row);
				}
			ColumnDefinition GroupNameColumn = new ColumnDefinition ();
			GroupNameColumn.Width = (GridLength)GLConverter.ConvertFromString ("*");
			BlockGrid.ColumnDefinitions.Add (GroupNameColumn);
			ColumnDefinition LabelNameColumn = new ColumnDefinition ();
			LabelNameColumn.Width = (GridLength)GLConverter.ConvertFromString ("5*");
			BlockGrid.ColumnDefinitions.Add (LabelNameColumn);
			ColumnDefinition ContentColumn = new ColumnDefinition ();
			ContentColumn.Width = (GridLength)GLConverter.ConvertFromString ("15*");
			BlockGrid.ColumnDefinitions.Add (ContentColumn);
			TextBlock GroupName = new TextBlock ();
			BlockGrid.Children.Add (GroupName);
			GroupName.Text = HeadLineText;
			Grid.SetColumn (GroupName, 0);
			Grid.SetRow (GroupName, 0);
			Grid.SetColumnSpan (GroupName, 2);
			int RowIndex = 1;
			int NumberOfAllLines = 0;
			double LineHeight = -1;
			foreach (DataColumn Column in Structure.Columns)
				{
				Label ColumnLabel = new Label ();
				BlockGrid.Children.Add (ColumnLabel);
				Grid.SetColumn (ColumnLabel, 1);
				Grid.SetRow (ColumnLabel, RowIndex);
				ColumnLabel.VerticalAlignment = VerticalAlignment.Top;
				if (String.IsNullOrEmpty (Column.Caption))
					ColumnLabel.Content = Column.ColumnName;
				else
					ColumnLabel.Content = Column.Caption;

				Border TextBlockBorder = new Border ();
				BlockGrid.Children.Add (TextBlockBorder);
				Grid.SetColumn (TextBlockBorder, 2);
				Grid.SetRow (TextBlockBorder, RowIndex);
				TextBlockBorder.BorderThickness = (Thickness)TConverter.ConvertFromString ("1");
				TextBlockBorder.BorderBrush = (Brush)BConverter.ConvertFromString ("Black");
				TextBox ColumnText = new TextBox ();
				TextBlockBorder.Child = ColumnText;
				ColumnText.TextWrapping = TextWrapping.Wrap;
				if (ContentTable.Columns [Column.ColumnName] != null)
					{
					ColumnText.Text = Content [Column.ColumnName].ToString ();
					}
				RowIndex++;
				}
			}
コード例 #19
0
		void InsertDataString (bool Compressed, String HeadLineText, DataTable Structure,
									DataTable ContentTable, DataRow Content, StackPanel Root)
			{
			GridLengthConverter GLConverter = new GridLengthConverter ();
			ThicknessConverter TConverter = new ThicknessConverter ();
			BrushConverter BConverter = new BrushConverter ();

			String Text = "";
			foreach (DataColumn Column in Structure.Columns)
				{
				if (ContentTable.Columns [Column.ColumnName] != null)
					{
					DataColumn Col = ContentTable.Columns [Column.ColumnName];
					if (Col.DataType.Name == "Guid")
						continue;
					if (!String.IsNullOrEmpty (Content [Column.ColumnName].ToString ()))
						if (String.IsNullOrEmpty (Text))
							Text = Content [Column.ColumnName].ToString ();
						else
							Text += "; " + Content [Column.ColumnName].ToString ();
					}
				}

	
			Grid BlockGrid = new Grid ();
			Root.Children.Add (BlockGrid);
			// HeadLine Row
			RowDefinition HeadLineRow = new RowDefinition ();
			HeadLineRow.Height = (GridLength)GLConverter.ConvertFromString ("*");
			BlockGrid.RowDefinitions.Add (HeadLineRow);
			RowDefinition ContentLineRow = new RowDefinition ();
			ContentLineRow.Height = (GridLength)GLConverter.ConvertFromString 
				(Convert.ToString (((int)(Text.Length / 50)) + 1) + "*");
			BlockGrid.RowDefinitions.Add (ContentLineRow);
			ColumnDefinition GroupNameColumn = new ColumnDefinition ();
			GroupNameColumn.Width = (GridLength)GLConverter.ConvertFromString ("*");
			BlockGrid.ColumnDefinitions.Add (GroupNameColumn);
			ColumnDefinition ContentColumn = new ColumnDefinition ();
			ContentColumn.Width = (GridLength)GLConverter.ConvertFromString ("12*");
			BlockGrid.ColumnDefinitions.Add (ContentColumn);
			TextBlock GroupName = new TextBlock ();
			BlockGrid.Children.Add (GroupName);
			GroupName.Text = HeadLineText;
			Grid.SetColumn (GroupName, 0);
			Grid.SetRow (GroupName, 0);
			Grid.SetColumnSpan (GroupName, 2);
			Border TextBlockBorder = new Border ();
			BlockGrid.Children.Add (TextBlockBorder);
			Grid.SetColumn (TextBlockBorder, 2);
			Grid.SetRow (TextBlockBorder, 1);
			TextBlockBorder.BorderThickness = (Thickness)TConverter.ConvertFromString ("1");
			TextBlockBorder.BorderBrush = (Brush)BConverter.ConvertFromString ("Black");
			TextBox ColumnText = new TextBox ();
			TextBlockBorder.Child = ColumnText;
			ColumnText.TextWrapping = TextWrapping.Wrap;
			ColumnText.Text = Text;
			}
コード例 #20
0
        public void UpdateLayout()
        {
            OpacityBrush =  AppState.OpacityAccentBrush;
            LeftOpacityBrush = new SolidColorBrush(new Color { A = (byte)(AppState.LeftBarOpacity * 255), B = 255, R = 255, G = 255 });
                            
            AccentBrush = AppState.AccentBrush;
            BlackOpacity = new SolidColorBrush(Colors.Black) { Opacity = AppState.BottomBarOpacity };

            AppState.PropertyChanged += (e, s) =>
                {
                    if (s.PropertyName == "BottomBarOpacity")
                    {
                        OpacityBrush = AppState.OpacityAccentBrush;
                        BlackOpacity = new SolidColorBrush(Colors.Black) {Opacity = AppState.BottomBarOpacity};
                    }

                    if (s.PropertyName == "LeftBarOpacity")
                    {
                        LeftOpacityBrush = new SolidColorBrush(new Color {
                                A = (byte) (AppState.LeftBarOpacity*255),
                                B = 255,
                                R = 255,
                                G = 255
                            });
                    }
                };
        
            var margin = AppState.Config.Get("Startpanel.Bottom.Margin", "0 0 0 0");
            var c = new ThicknessConverter();
            var convertFrom = (Thickness) c.ConvertFrom(margin);
            convertFrom.Bottom = !AppState.TimelineManager.Visible ? 0 : AppState.Config.GetDouble("Timeline.Height", convertFrom.Bottom);
            var convertFromRight = (Thickness)c.ConvertFrom(margin);
            convertFromRight.Bottom = !AppState.TimelineManager.Visible ? 0 : AppState.Config.GetDouble("Timeline.Height", convertFrom.Bottom);
            convertFromRight.Top = 100;
            BottomStartPanelMargin = convertFrom;
            BottomStartPanelMarginRight = convertFromRight;
            
            BottomStartPanelMaxHeight = AppState.Config.GetDouble("Startpanel.Bottom.MaxHeight", 300.0);
            BottomStartPanelMinHeight = AppState.Config.GetDouble("Startpanel.Bottom.MinHeight", 30.0) + 10;
            var cr = AppState.Config.GetDouble("Layout.Floating.CornerRadius", 0);
            CornerRadius = new CornerRadius(cr, cr, 0, 0);
            CornerRadiusLeft = new CornerRadius(0, cr, cr, 0);
        }