修改 telerik:SettingsPane 模板并将 radMaskedInputs 存储在 xaml.cs 函数中

Modifying telerik:SettingsPane template and store radMaskedInputs in a xaml.cs function

提问人:N0ZER0 提问时间:11/7/2023 最后编辑:N0ZER0 更新时间:11/7/2023 访问量:13

问:

我正在处理一个工作流管理器项目,我正在尝试使用 telerik:SettingsPane 在 WF 的每个形状上都有一个“选项”按钮,以便保存和修改形状参数。 问题是我有一个名为resources.xaml的类,带有telerik连接,我无法访问xaml.cs文件中的radMaskedIinputs输入,它在那里不可见。

这是我输入的 MainWindow.xaml 的一部分。

 <telerik:RadDiagram x:Name="wfDiagram" ConnectionManipulationCompleted="wfDiagram_ConnectionManipulationCompleted" 
                            Grid.Column="0" Grid.Row="1" ConnectionBridge="Bow" ConnectionRoundedCorners="True" IsRotationEnabled="False" RouteConnections="False" SelectionMode="Single"  SelectionChanged="wfDiagram_SelectionChanged" ShapeClicked="wfDiagram_ShapeClicked" ShapeDeserialized="RadDiagram_ShapeDeserialized" Grid.ColumnSpan="2">
            <primitives:ItemInformationAdorner.AdditionalContent>
                
                <telerik:SettingsPane Name="InfoSettingsPane" Diagram="{Binding ElementName=wfDiagram}"  />
            </primitives:ItemInformationAdorner.AdditionalContent>
        </telerik:RadDiagram>
        
        <telerik:RadDiagramNavigationPane Diagram="{Binding ElementName=wfDiagram}" IsExpanded="true" Grid.Column="0" Grid.Row="1"
                                  VerticalAlignment="Bottom" Height="194" Width="286" Grid.ColumnSpan="2" Margin="126,0,126,0"
                                    
                                  />
        
        
        <telerik:RadDiagramToolbox x:Name="toolbox" Grid.Column="2" Grid.Row="1" 
                               Title="Strumenti" 
                               Width="462" 
                               HorizontalAlignment="Center" 
                               Header="{Binding SelectedItem.Header, 
                                                RelativeSource={RelativeSource Self}}" 
                               ItemsSource="{Binding Items}" 
                               ItemTemplate="{StaticResource ToolboxGroupTemplate}" 
                               Visibility="Visible"
                               telerik:DragDropManager.AllowCapturedDrag="True"
                               telerik:DragDropManager.AllowDrag="True"
                                  
                               >
        </telerik:RadDiagramToolbox>
    </Grid>
    
    <Window.Resources>
        <Style x:Name="Style" TargetType="extensions:SettingsPaneView" >
            <Setter Property="Background" Value="{telerik1:Office2016Resource ResourceKey=PrimaryBrush}"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="extensions:SettingsPaneView" x:Name="ctrlTmp">
                        <telerik:RadTabControl x:Name="TabControl" 
                                Effect="{StaticResource DiagramEffect}" 
                                DropDownDisplayMode="Collapsed" 
                                FontWeight="Normal" 
                                BorderBrush="{telerik1:Office2016Resource ResourceKey=BasicBrush}" 
                                BorderThickness="0" 
                                ItemsPanel="{StaticResource PaneTabControlItemsPanel}" 
                                ScrollViewer.HorizontalScrollBarVisibility="Disabled">
    
                            <telerik:RadTabItem Header="ConfigurationPanel"  
                                               extensions:SettingsPaneView.EditorPropertyName="DataContext.IsVisible" 
                                                extensions:SettingsPaneView.EditorItemType="Shapes,Custom" 
                                                extensions:SettingsPaneView.EditorValue="{Binding Path=Visibility,Mode=TwoWay, RelativeSource={RelativeSource Self}}" 
                                                    >
                                <Grid>
                                    <StackPanel Orientation="Vertical">
                                        <telerik:RadMaskedTextInput Name="ConfigInput" Height="50" Width="150" Margin="0,0,0,0"
                                                                    Background="Aquamarine" EmptyContent="ConfigName"
                                                                    InputBehavior="Replace" Mask="a20" SelectionOnFocus="SelectAll"
                                                                    TextMode="PlainText" UpdateValueEvent="LostFocus" Value=""
                                                                    AcceptsReturn="False" />
                                    </StackPanel>
                                </Grid>
                            </telerik:RadTabItem>
                            
                               
                            <telerik:RadTabItem Name="ParametersTab" Header="Parameters"  
                                                extensions:SettingsPaneView.EditorPropertyName="DataContext.IsVisible" 
                                                extensions:SettingsPaneView.EditorItemType="Shapes,Custom" 
                                                extensions:SettingsPaneView.EditorValue="{Binding Path=Visibility,Mode=TwoWay, RelativeSource={RelativeSource Self}}" 
                            >
                                        <Grid>
                                        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                                            <telerik:RadMaskedTextInput x:Name="ParameterNameInput" Height="50" Width="150" Margin="0,0,0,0"
                                                                        Background="Aquamarine" EmptyContent="Parameter Name"
                                                                        InputBehavior="Replace" Mask="a20" SelectionOnFocus="SelectAll"
                                                                        TextMode="PlainText" UpdateValueEvent="PropertyChanged"
                                                                        AcceptsReturn="False" />
                                            <telerik:RadMaskedTextInput x:Name="ParameterValueInput" Height="50" Width="150" Margin="0,0,0,0"
                                                                        Background="Aquamarine" EmptyContent="Parameter Value"
                                                                        InputBehavior="Replace" Mask="a20" SelectionOnFocus="SelectAll"
                                                                        TextMode="PlainText" UpdateValueEvent="PropertyChanged" 
                                                                        AcceptsReturn="False" />
                                        </StackPanel>

                                        <telerik:RadButton Grid.Row="3" Content="Save Parameters" HorizontalAlignment="Center" Height="Auto" Margin="0,10,0,20" 
                                                   VerticalAlignment="Bottom" Width="100" Background="LightBlue" Click="SaveSettingFromPanel" />
                                    </Grid>

                        </telerik:RadTabItem>
                           
                            
                            <telerik:RadTabControl.AdditionalContent>
                                <telerik:RadToggleButton 
                                        FontFamily="{StaticResource TelerikWebUI}" 
                                        Content="{StaticResource GlyphClose}" 
                                        FontSize="16" 
                                        FontWeight="Normal" 
                                        FontStyle="Normal" 
                                        IsChecked="{Binding IsActive, Mode=TwoWay, Converter={StaticResource InvertedBooleanConverter}, RelativeSource={RelativeSource TemplatedParent}}" 
                                        IsBackgroundVisible="False" 
                                        BorderThickness="0" 
                                        Foreground="{telerik1:Office2016Resource ResourceKey=MarkerInvertedBrush}" 
                                        Focusable="False" 
                                        Margin="2 2 4 2"/>
                            </telerik:RadTabControl.AdditionalContent>
                        </telerik:RadTabControl>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>

resource.xaml 包含以下行:

 x:Class="_3iMachineWorkflowDesigner.Custom_Class.CustomMethodRibbon"

CustomMethodRibbon 包含许多方法,主要用于打开自定义窗口以执行其他操作。现在我应该如何读取 ParameterNameInput 和 ParameterValueInput 以在另一个函数中调用它们作为输入?

enter image description here这是我应该如何插入和加载数据的一个示例。 我在这里失去了理智。

C# XAML Telerik Telerik-Reporting

评论


答: 暂无答案