Я уже создал динамические элементы управления, используя .Net 4.0, используя VS2010.Их, когда я нажимал кнопку, я использовал для создания различных элементов управления, зависящих от входных данных из XML-файла, и устанавливал динамически созданные элементы управления в окно WPF с помощью элемента управления «Содержимое».Исходный код ниже,
ButtonClickMethod.cs
private static void CustomControlsButton_Click(object source, RoutedEventArgs args) //button click event
{
CustomControls cui = new CustomControls();
if (isFileExist)
{
cui.Content = cui.CreateGrid(); //Code which set the created controls to the content
cui.ShowDialog();
}
}
CreateCustomControls.cs
public object CreateGrid() // responsible for control creation
{
int noOfRows = Attributes.Count;
new PopulateGrid(noOfRows, Attributes);
return grid.Get();
}
CustomControls.xaml
<Window x:Class="Client.CustomControls"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:resx="clr-namespace:YottaMark.Wpf.Label.Client.Properties"
Title="Custom Controls" Height="300" Width="300">
<Grid>
</Grid>
</Window>
Мы обновляемфреймворк и использование фреймворка Catel MVVM.Теперь я хочу преобразовать те же функции для поддержки .Net 4.6.2
и MVVM.
В обновленной версии я планирую связать созданные элементы управления внутри ScrollerViewer.
<catel:DataWindow
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Labeling.Views"
xmlns:catel="http://schemas.catelproject.com"
xmlns:orc="http://www.wildgums.net.au/orc" x:Class="Labeling.Views.CustomFieldListView"
mc:Ignorable="d" Icon="{StaticResource Icons8Printer}"
Title="FieldsConfiguration" Height="270" Width="584" WindowStartupLocation="CenterScreen" SizeToContent="Manual" ResizeMode="NoResize">
<Grid>
<ScrollViewer Grid.ColumnSpan="2" Margin="0,51.424,10,16.251" Grid.Row="1">
</ScrollViewer>
</Grid>
</catel:DataWindow>
ViewModel.csдля вышеупомянутого WPF
public class CustomFieldListViewModel : ViewModelBase
{
private readonly IAttributesService _AttributesService;
public bool AttributesFileExists { get; set;}
public bool AttributesExists { get; set; }
private static JArray Attributes;
private static DynamicGrid grid = new DynamicGrid();
public CustomControlListViewModel(IAttributesService AttributesService)
{
_AttributesService = AttributesService;
AttributesFileExists = false;
AttributesExists = false;
}
}
Строка cui.Content = cui.CreateGrid();
в ButtonClickMethod.cs
является ответом для установки созданных элементов управления в Content.В обновленном фреймворке я использую MVVM и хочу узнать, как установить созданные элементы управления в ScrollViewer во время загрузки вышеприведенного представления.
Пожалуйста, помогите мне в этом.
СпасибоВы