Начало локадизации диалоговых окон

This commit is contained in:
Aleksandr Ponomarev
2024-02-05 23:33:27 +03:00
parent 971b5d6204
commit 9562e56ffc
9 changed files with 196 additions and 146 deletions

View File

@@ -9,11 +9,11 @@
<RowDefinition Height="22"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Text="Width"/>
<TextBlock Grid.Row="1" Text="Height"/>
<TextBlock Grid.Row="0" Text="{DynamicResource Width}"/>
<TextBlock Grid.Row="1" Text="{DynamicResource Height}"/>
<TextBox Grid.Row="0" Grid.Column="1" Margin="1" Style="{StaticResource ValidatedError}" Text="{Binding Width, Converter={StaticResource LengthConverter}, ValidatesOnDataErrors=True}"/>
<TextBox Grid.Row="1" Grid.Column="1" Margin="1" Text="{Binding Height, Converter={StaticResource LengthConverter}, ValidatesOnDataErrors=True}"/>
</Grid>

View File

@@ -38,9 +38,11 @@
<system:String x:Key="Add Circle RC Column">Add Circle RC Column</system:String>
<system:String x:Key="Add RC Beam">Add RC Beam</system:String>
<system:String x:Key="Add RC Slab">Add RC Slab</system:String>
<system:String x:Key="Add Concrete">Add Concrete</system:String>
<system:String x:Key="Add Reinforcement Material">Add Reinforcement Material</system:String>
<system:String x:Key="Add Elastic Material">Add Elastic Material</system:String>
<system:String x:Key="Add Carbon Fiber Material">Add Carbon Fiber Material</system:String>
<system:String x:Key="Add Glass Fiber Material">Add Glass Fiber Material</system:String>
<system:String x:Key="Change Language">Change Language</system:String>
<system:String x:Key="Visual Settings">Visual Settings</system:String>
<system:String x:Key="RU_EN">EN</system:String>
@@ -49,5 +51,25 @@
<system:String x:Key="Tools">Tools</system:String>
<system:String x:Key="Grid size">Grid size: </system:String>
<system:String x:Key="Number of primitives">Number of primitives: </system:String>
<system:String x:Key="Full">Full</system:String>
<system:String x:Key="Fact">Fact</system:String>
<system:String x:Key="Run Calculations">Run Calculations</system:String>
<system:String x:Key="Move All Primitives to Gravity Center">Move All Primitives to Gravity Center</system:String>
<system:String x:Key="Combination By Factors">Combination By Factors</system:String>
<system:String x:Key="Combination">Combination</system:String>
<system:String x:Key="Templates">Templates</system:String>
<system:String x:Key="Grid properies">Grid properies</system:String>
<system:String x:Key="Axis grid thickness">Axis grid thickness</system:String>
<system:String x:Key="Grid line thickness">Grid line thickness</system:String>
<system:String x:Key="Work plane width">Work plane width</system:String>
<system:String x:Key="Work plane height">Work plane height</system:String>
<system:String x:Key="Reinforced rectangle template">Reinforced rectangle template</system:String>
<system:String x:Key="Width">Width</system:String>
<system:String x:Key="Height">Height</system:String>
<!-- All StringResources Goes Here -->
</ResourceDictionary>

View File

@@ -10,7 +10,7 @@
<system:String x:Key="Analisis">Расчет</system:String>
<system:String x:Key="Analises">Расчеты</system:String>
<system:String x:Key="Add Full Combination">Создать комбинацию явно</system:String>
<system:String x:Key="Add Factored Combination">Создать комбинацию коэффициентами</system:String>
<system:String x:Key="Add Factored Combination">Создать комбинацию по коэффициентам</system:String>
<system:String x:Key="Concrete">Бетон</system:String>
<system:String x:Key="Reinforcement">Арматура</system:String>
<system:String x:Key="Elastic">Упругий</system:String>
@@ -38,9 +38,11 @@
<system:String x:Key="Add Circle RC Column">Создать круглую ЖБ колонну</system:String>
<system:String x:Key="Add RC Beam">Создать ЖБ балку</system:String>
<system:String x:Key="Add RC Slab">Создать ЖБ плиту</system:String>
<system:String x:Key="Add Concrete">Создать бетон</system:String>
<system:String x:Key="Add Reinforcement Material">Создать материал армирования</system:String>
<system:String x:Key="Add Elastic Material">Создать упругий материал</system:String>
<system:String x:Key="Add Carbon Fiber Material">Создать углеволокно</system:String>
<system:String x:Key="Add Glass Fiber Material">Создать стекловолокно</system:String>
<system:String x:Key="Change Language">Смена языка</system:String>
<system:String x:Key="Visual Settings">Настройки изображения</system:String>
<system:String x:Key="RU_EN">RU</system:String>
@@ -49,5 +51,22 @@
<system:String x:Key="Tools">Инструменты</system:String>
<system:String x:Key="Grid size">Шаг сетки: </system:String>
<system:String x:Key="Number of primitives">Кол-во примитивов: </system:String>
<system:String x:Key="Full">Явно</system:String>
<system:String x:Key="Fact">Коэффициент</system:String>
<system:String x:Key="Run Calculations">Выполнить расчеты</system:String>
<system:String x:Key="Move All Primitives to Gravity Center">Переместить все примитивы в центр тяжести</system:String>
<system:String x:Key="Combination By Factors">Комбинация по коэффициентам</system:String>
<system:String x:Key="Combination">Комбинация</system:String>
<system:String x:Key="Templates">Шаблоны</system:String>
<system:String x:Key="Grid properies">Свойства сетки</system:String>
<system:String x:Key="Axis grid thickness">Толщина координатных осей</system:String>
<system:String x:Key="Grid line thickness">Толщина линий сетки</system:String>
<system:String x:Key="Work plane width">Ширина рабочей плоскости</system:String>
<system:String x:Key="Work plane height">Высота рабочей плоскости</system:String>
<system:String x:Key="Reinforced rectangle template">Шаблон армированного прямоугольника</system:String>
<system:String x:Key="Width">Ширина</system:String>
<system:String x:Key="Height">Высота</system:String>
<!-- All StringResources Goes Here -->
</ResourceDictionary>

View File

@@ -27,73 +27,73 @@
</DataTemplate>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
<ContextMenu x:Key="EditCopyDelete">
<MenuItem Header="Edit" Command="{Binding Edit}">
<MenuItem Header="{DynamicResource Edit}" Command="{Binding Edit}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Edit.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Copy" Command="{Binding Copy}">
<MenuItem Header="{DynamicResource Copy}" Command="{Binding Copy}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Copy.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Delete" Command="{Binding Delete}">
<MenuItem Header="{DynamicResource Delete}" Command="{Binding Delete}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Delete.png" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
<ContextMenu x:Key="PrimitiveCRUD">
<MenuItem Header="Edit" Command="{Binding Edit}">
<MenuItem Header="{DynamicResource Edit}" Command="{Binding Edit}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Edit.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Copy" Command="{Binding Copy}">
<MenuItem Header="{DynamicResource Copy}" Command="{Binding Copy}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Copy.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Copy To" Command="{Binding CopyTo}">
<MenuItem Header="{DynamicResource Copy To}" Command="{Binding CopyTo}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Copy.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Delete" Command="{Binding Delete}">
<MenuItem Header="{DynamicResource Delete}" Command="{Binding Delete}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Delete.png" />
</MenuItem.Icon>
</MenuItem>
<Separator/>
<MenuItem Header="To Foreground" Command="{Binding SetToFront}">
<MenuItem Header="{DynamicResource To Foreground}" Command="{Binding SetToFront}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/ToForeground.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="To Background" Command="{Binding SetToBack}">
<MenuItem Header="{DynamicResource To Background}" Command="{Binding SetToBack}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/ToBackground.png" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
<ContextMenu x:Key="AnalisesCRUD">
<MenuItem Header="Run" Command="{Binding Run}">
<MenuItem Header="{DynamicResource Run}" Command="{Binding Run}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Run.png" />
</MenuItem.Icon>
</MenuItem>
<Separator/>
<MenuItem Header="Edit" Command="{Binding Edit}">
<MenuItem Header="{DynamicResource Edit}" Command="{Binding Edit}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Edit.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Copy" Command="{Binding Copy}">
<MenuItem Header="{DynamicResource Copy}" Command="{Binding Copy}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Copy.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Delete" Command="{Binding Delete}">
<MenuItem Header="{DynamicResource Delete}" Command="{Binding Delete}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="/Windows/MainWindow/Delete.png" />
</MenuItem.Icon>
@@ -136,26 +136,26 @@
<Button Style="{StaticResource ToolButton}"
Command="{Binding Add}"
CommandParameter="{x:Static enums:ActionType.ForceCombination}"
Content="Full" ToolTip="Add Full Combination"/>
Content="{DynamicResource Full}" ToolTip="{DynamicResource Add Full Combination}"/>
<Button Style="{StaticResource ToolButton}"
Command="{Binding Add}"
CommandParameter="{x:Static enums:ActionType.ForceCombinationByFactor}"
Content="Fact" ToolTip="Add Factored Combination"/>
Content="{DynamicResource Fact}" ToolTip="{DynamicResource Add Factored Combination}"/>
</ToolBar>
<ToolBar DataContext="{Binding MaterialsLogic}" ToolTip="Materials">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.Concrete}">
<ToolBar DataContext="{Binding MaterialsLogic}" ToolTip="{DynamicResource Materials}">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.Concrete}" ToolTip="{DynamicResource Add Concrete}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/ConMaterial32.png"/>
</Button>
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.Reinforcement}" ToolTip="Add Reinforcement Material">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.Reinforcement}" ToolTip="{DynamicResource Add Reinforcement Material}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/RFMaterial32.png"/>
</Button>
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.Elastic}" ToolTip="Add Elastic Material">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.Elastic}" ToolTip="{DynamicResource Add Elastic Material}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/ElasticMaterial32.png"/>
</Button>
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.CarbonFiber}" ToolTip="Add Carbon Fiber Material">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.CarbonFiber}" ToolTip="{DynamicResource Add Carbon Fiber Material}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/СarbonMaterial32.png"/>
</Button>
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.GlassFiber}" ToolTip="Add Glass Fiber Material">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.GlassFiber}" ToolTip="{DynamicResource Add Glass Fiber Material}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/GlassMaterial32.png"/>
</Button>
<Button Command="{Binding EditMaterialsCommand}" ToolTip="Show Materials">
@@ -163,46 +163,46 @@
</Button>
</ToolBar>
<ToolBar ToolTip="Base Primitives" DataContext="{Binding PrimitiveLogic}">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Rectangle}" ToolTip="Add Rectangle Primitive">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Rectangle}" ToolTip="{DynamicResource Add Rectangle Primitive}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/Rectangle32.png"/>
</Button>
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Circle}" ToolTip="Add Circle Primitive">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Circle}" ToolTip="{DynamicResource Add Circle Primitive}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/Circle32.png"/>
</Button>
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Reinforcement}" ToolTip="Add Rebar Primitive">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Reinforcement}" ToolTip="{DynamicResource Add Rebar Primitive}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/Rebar32.png"/>
</Button>
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Point}" ToolTip="Add Point Primitive">
<Button Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Point}" ToolTip="{DynamicResource Add Point Primitive}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/Point32.png"/>
</Button>
</ToolBar>
<ToolBar ToolTip="RC Templates">
<Button Command="{Binding AddColumnCase}" ToolTip="Add Rectangle RC Column">
<Button Command="{Binding AddColumnCase}" ToolTip="{DynamicResource Add Rectangle RC Column}">
<Image Width="32" Height="32" Source="/Windows/MainWindow/RectangleColumn32.png"/>
</Button>
<Button Command="{Binding AddRCCircleCase}" ToolTip="Add Circle RC Column">
<Button Command="{Binding AddRCCircleCase}" ToolTip="{DynamicResource Add Circle RC Column}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/CircleColumn32.png"/>
</Button>
<Button Command="{Binding AddBeamCase}" ToolTip="Add RC Beam">
<Button Command="{Binding AddBeamCase}" ToolTip="{DynamicResource Add RC Beam}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/Beam32.png"/>
</Button>
<Button Command="{Binding AddSlabCase}" ToolTip="Add RC Slab">
<Button Command="{Binding AddSlabCase}" ToolTip="{DynamicResource Add RC Slab}">
<Image Width="32" Height="32" Source="/Windows/MainWindow/Slab32.png"/>
</Button>
</ToolBar>
<ToolBar ToolTip="Analises" DataContext="{Binding CalculatorsLogic}">
<Button Command="{Binding Add}" ToolTip="Add Force Calculator">
<ToolBar ToolTip="{DynamicResource Analises}" DataContext="{Binding CalculatorsLogic}">
<Button Command="{Binding Add}" ToolTip="{DynamicResource Add Force Calculator}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/Calculator32.png"/>
</Button>
<Button Command="{Binding Run}" ToolTip="Run Calculations">
<Button Command="{Binding Run}" ToolTip="{DynamicResource Run Calculations}">
<Image Style="{StaticResource ButtonImage32}" Source="/Windows/MainWindow/Analysis32.png"/>
</Button>
</ToolBar>
<ToolBar ToolTip="Tools">
<Button Command="{Binding MovePrimitiveToGravityCenterCommand}" ToolTip="Move All Primitives to Gravity Center">
<ToolBar ToolTip="{DynamicResource Tools}">
<Button Command="{Binding MovePrimitiveToGravityCenterCommand}" ToolTip="{DynamicResource Move All Primitives to Gravity Center}">
<Image Width="32" Height="32" Source="/Windows/MainWindow/MovePrimitivesToCenter.png"/>
</Button>
<Button Command="{Binding ShowVisualProperty}" ToolTip="Visual Settings">
<Button Command="{Binding ShowVisualProperty}" ToolTip="{DynamicResource Visual Settings}">
<Image Width="32" Height="32" Source="/Windows/MainWindow/Tools_Settings.png"/>
</Button>
<Button Command="{Binding ChangeLanguage}" ToolTip="{DynamicResource Change Language}" Content="{DynamicResource RU_EN}">
@@ -224,12 +224,12 @@
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel>
<Expander Header="Actions" MinWidth="20" DataContext="{Binding CombinationsLogic}">
<Expander Header="{DynamicResource Actions}" MinWidth="20" DataContext="{Binding CombinationsLogic}">
<Expander.ContextMenu>
<ContextMenu>
<MenuItem Header="Add">
<Button Content="Combination" Command="{Binding Add}" CommandParameter="{x:Static enums:ActionType.ForceCombination}"/>
<Button Content="Combination By Factors" Command="{Binding Add}" CommandParameter="{x:Static enums:ActionType.ForceCombinationByFactor}"/>
<MenuItem Header="{DynamicResource Add}">
<Button Content="{DynamicResource Combination}" Command="{Binding Add}" CommandParameter="{x:Static enums:ActionType.ForceCombination}"/>
<Button Content="{DynamicResource Combination By Factors}" Command="{Binding Add}" CommandParameter="{x:Static enums:ActionType.ForceCombinationByFactor}"/>
</MenuItem>
</ContextMenu>
</Expander.ContextMenu>
@@ -247,7 +247,7 @@
<Expander.Header>
<StackPanel Orientation="Horizontal">
<Image Style="{StaticResource ButtonImage16}" Source="/Windows/MainWindow/Materials32.png"/>
<TextBlock Text="Materials" Margin="5,0,0,0"/>
<TextBlock Text="{DynamicResource Materials}" Margin="5,0,0,0"/>
</StackPanel>
</Expander.Header>
<Expander.ContextMenu>
@@ -257,7 +257,7 @@
<Image Style="{StaticResource ButtonImage16}" Source="/Windows/MainWindow/Materials32.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Add">
<MenuItem Header="{DynamicResource Add}">
<MenuItem Header="{DynamicResource Concrete}" Command="{Binding Add}" CommandParameter="{x:Static enums:MaterialType.Concrete}">
<MenuItem.Icon>
<Image Style="{StaticResource ButtonImage16}" Source="/Windows/MainWindow/ConMaterial32.png" />
@@ -327,7 +327,7 @@
<Expander.Header>
<StackPanel Orientation="Horizontal">
<Image Style="{StaticResource ButtonImage16}" Source="/Windows/MainWindow/Analysis32.png" />
<TextBlock Text="Analisis" Margin="5,0,0,0"/>
<TextBlock Text="{DynamicResource Analisis}" Margin="5,0,0,0"/>
</StackPanel>
</Expander.Header>
<Expander.ContextMenu>
@@ -368,7 +368,7 @@
<Canvas Name="WorkPlane" ClipToBounds="True" Width="{Binding VisualProperty.WorkPlainWidth}" Height="{Binding VisualProperty.WorkPlainHeight}">
<Canvas.ContextMenu>
<ContextMenu>
<MenuItem Header="Add" DataContext="{Binding PrimitiveLogic}">
<MenuItem Header="{DynamicResource Add}" DataContext="{Binding PrimitiveLogic}">
<MenuItem Header="{DynamicResource Rectangle}" Command="{Binding Add}" CommandParameter="{x:Static enums:PrimitiveType.Rectangle}">
<MenuItem.Icon>
<Image Style="{StaticResource ButtonImage16}" Source="/Windows/MainWindow/Rectangle32.png" />
@@ -390,7 +390,7 @@
</MenuItem.Icon>
</MenuItem>
</MenuItem>
<MenuItem Header="Templates" DataContext="{Binding}">
<MenuItem Header="{DynamicResource Templates}" DataContext="{Binding}">
<MenuItem Header="{DynamicResource Add Rectangle RC Column}" Command="{Binding AddColumnCase}">
<MenuItem.Icon>
<Image Style="{StaticResource ButtonImage16}" Source="/Windows/MainWindow/RectangleColumn32.png" />
@@ -406,7 +406,7 @@
<Image Style="{StaticResource ButtonImage16}" Source="/Windows/MainWindow/Beam32.png" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Add RC slab" Command="{Binding AddSlabCase}">
<MenuItem Header="{DynamicResource Add RC Slab}" Command="{Binding AddSlabCase}">
<MenuItem.Icon>
<Image Style="{StaticResource ButtonImage16}" Source="/Windows/MainWindow/Slab32.png" />
</MenuItem.Icon>

View File

@@ -161,10 +161,10 @@ namespace StructureHelper.Windows.MainWindow
}
}
internal ResourceDictionary dict = new ResourceDictionary();
// Загрузка файлов ресурсов для выбранного языка
private void SetLanguageDictionary(int local)
{
ResourceDictionary dict = new ResourceDictionary();
switch (local)
{
case 0:
@@ -221,7 +221,9 @@ namespace StructureHelper.Windows.MainWindow
(showVisualProperty = new RelayCommand(o =>
{
var wnd = new VisualPropertyView(VisualProperty);
wnd.ShowDialog();
SetLanguageDictionary(langID);
wnd.Resources.MergedDictionaries.Add(dict);
wnd.ShowDialog();
OnPropertyChanged(nameof(AxisLineThickness));
OnPropertyChanged(nameof(CanvasViewportSize));
OnPropertyChanged(nameof(GridSize));
@@ -369,7 +371,8 @@ namespace StructureHelper.Windows.MainWindow
{
if (item.HeadMaterial == null)
{
System.Windows.Forms.MessageBox.Show($"Primitive {item.Name} does not has material", "Check data for analisys", MessageBoxButtons.OK, MessageBoxIcon.Warning);
if(langID == 0) { System.Windows.Forms.MessageBox.Show($"Primitive {item.Name} does not has material", "Check data for analisys", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
else { System.Windows.Forms.MessageBox.Show($"Примитиву {item.Name} не назначен материал", "Проверьте расчетные данные", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
return false;
}
}
@@ -405,12 +408,17 @@ namespace StructureHelper.Windows.MainWindow
var rectTemplate = template as IRectangleBeamTemplate;
geometryLogic = new RectGeometryLogic(rectTemplate);
wnd = new RectangleBeamView(rectTemplate);
SetLanguageDictionary(langID);
wnd.Resources.MergedDictionaries.Add(dict);
}
else if (template is ICircleTemplate)
{
var circleTemplate = template as ICircleTemplate;
geometryLogic = new CircleGeometryLogic(circleTemplate);
wnd = new CircleView(circleTemplate);
SetLanguageDictionary(langID);
wnd.Resources.MergedDictionaries.Add(dict);
}
else { throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknown + $"Was: {nameof(template)}"); }
wnd.ShowDialog();

View File

@@ -1,4 +1,5 @@
using StructureHelper.Infrastructure;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -7,77 +8,77 @@ using System.Threading.Tasks;
namespace StructureHelper.Windows.MainWindow
{
public class CrossSectionVisualPropertyVM : ViewModelBase
{
private double axisLineThickness;
private double gridLineThickness;
private double gridSize;
private double workPlainWidth;
private double workPlainHeight;
public class CrossSectionVisualPropertyVM : ViewModelBase
{
private double axisLineThickness;
private double gridLineThickness;
private double gridSize;
private double workPlainWidth;
private double workPlainHeight;
/// <summary>
/// Thickness of x-, and y- axis line
/// </summary>
public double AxisLineThickness
{
get => axisLineThickness; set
{
axisLineThickness = value;
OnPropertyChanged(nameof(AxisLineThickness));
}
}
/// <summary>
/// Thickness of lines of coordinate mesh
/// </summary>
public double GridLineThickness
{
get => gridLineThickness; set
{
gridLineThickness = value;
OnPropertyChanged(nameof(GridLineThickness));
}
}
/// <summary>
/// Size of coordinate mesh
/// </summary>
public double GridSize
{
get => gridSize; set
{
gridSize = value;
OnPropertyChanged(nameof(GridSize));
}
}
/// <summary>
/// Width of work plane
/// </summary>
public double WorkPlainWidth
{
get => workPlainWidth; set
{
workPlainWidth = value;
OnPropertyChanged(nameof(WorkPlainWidth));
}
}
/// <summary>
/// Height of work plane
/// </summary>
public double WorkPlainHeight
{
get => workPlainHeight; set
{
workPlainHeight = value;
OnPropertyChanged(nameof(WorkPlainHeight));
}
}
/// <summary>
/// Thickness of x-, and y- axis line
/// </summary>
public double AxisLineThickness
{
get => axisLineThickness; set
{
axisLineThickness = value;
OnPropertyChanged(nameof(AxisLineThickness));
}
}
/// <summary>
/// Thickness of lines of coordinate mesh
/// </summary>
public double GridLineThickness
{
get => gridLineThickness; set
{
gridLineThickness = value;
OnPropertyChanged(nameof(GridLineThickness));
}
}
/// <summary>
/// Size of coordinate mesh
/// </summary>
public double GridSize
{
get => gridSize; set
{
gridSize = value;
OnPropertyChanged(nameof(GridSize));
}
}
/// <summary>
/// Width of work plane
/// </summary>
public double WorkPlainWidth
{
get => workPlainWidth; set
{
workPlainWidth = value;
OnPropertyChanged(nameof(WorkPlainWidth));
}
}
/// <summary>
/// Height of work plane
/// </summary>
public double WorkPlainHeight
{
get => workPlainHeight; set
{
workPlainHeight = value;
OnPropertyChanged(nameof(WorkPlainHeight));
}
}
public CrossSectionVisualPropertyVM()
{
AxisLineThickness = 2d;
GridLineThickness = 0.25d;
GridSize = 0.05d;
WorkPlainWidth = 1.2d;
WorkPlainHeight = 1.2d;
}
}
public CrossSectionVisualPropertyVM()
{
AxisLineThickness = 2d;
GridLineThickness = 0.25d;
GridSize = 0.05d;
WorkPlainWidth = 1.2d;
WorkPlainHeight = 1.2d;
}
}
}

View File

@@ -6,8 +6,8 @@
xmlns:local="clr-namespace:StructureHelper.Windows.MainWindow"
d:DataContext="{d:DesignInstance local:CrossSectionVisualPropertyVM}"
mc:Ignorable="d"
Title="Grid properies" Height="200" Width="300" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
<Grid>
Title="{DynamicResource Grid properies}" Height="200" Width="320" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="22"/>
<RowDefinition Height="22"/>
@@ -17,18 +17,18 @@
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Axis grid thickness"/>
<TextBlock Text="{DynamicResource Axis grid thickness}"/>
<TextBox Grid.Column="1" Text="{Binding AxisLineThickness, Converter={StaticResource PlainDouble}, ValidatesOnExceptions=True}"/>
<TextBlock Grid.Row="1" Text="Grid size"/>
<TextBlock Grid.Row="1" Text="{DynamicResource Grid size}"/>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding GridSize, Converter={StaticResource LengthConverter}, ValidatesOnExceptions=True}"/>
<TextBlock Grid.Row="2" Text="Grid line thickness"/>
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding GridLineThickness, Converter={StaticResource PlainDouble}, ValidatesOnExceptions=True}"/>
<TextBlock Grid.Row="3" Text="Work plane width"/>
<TextBlock Grid.Row="2" Text="{DynamicResource Grid line thickness}"/>
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding GridLineThickness, Converter={StaticResource PlainDouble}, ValidatesOnExceptions=True}"/>
<TextBlock Grid.Row="3" Text="{DynamicResource Work plane width}"/>
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding WorkPlainWidth, Converter={StaticResource LengthConverter}, ValidatesOnExceptions=True}"/>
<TextBlock Grid.Row="4" Text="Work plane height"/>
<TextBlock Grid.Row="4" Text="{DynamicResource Work plane height}"/>
<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding WorkPlainHeight, Converter={StaticResource LengthConverter}, ValidatesOnExceptions=True}"/>
</Grid>
</Window>

View File

@@ -14,15 +14,15 @@ using System.Windows.Shapes;
namespace StructureHelper.Windows.MainWindow
{
/// <summary>
/// Логика взаимодействия для VisualPropertyView.xaml
/// </summary>
public partial class VisualPropertyView : Window
{
public VisualPropertyView(CrossSectionVisualPropertyVM vm)
{
InitializeComponent();
DataContext = vm;
}
}
/// <summary>
/// Логика взаимодействия для VisualPropertyView.xaml
/// </summary>
public partial class VisualPropertyView : Window
{
public VisualPropertyView(CrossSectionVisualPropertyVM vm)
{
DataContext = vm;
InitializeComponent();
}
}
}

View File

@@ -8,10 +8,10 @@
xmlns:vm ="clr-namespace:StructureHelper.Windows.ViewModels.PrimitiveTemplates.RCs"
d:DataContext="{d:DesignInstance vm:RectangleBeamViewModel}"
mc:Ignorable="d"
Title="Reinforced rectangle template" Height="220" Width="300" SizeToContent="Height" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
Title="{DynamicResource Reinforced rectangle template}" Height="220" Width="300" SizeToContent="Height" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
<Window.Resources>
</Window.Resources>
<Grid>
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="35"/>
@@ -27,7 +27,7 @@
<RowDefinition Height="22"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Text="Cover gap"/>