Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1935
Problem with IsReadOnly and XamTextEditor
posted

 

I'm using the XamDataGrid to display notes for some projects in my application. For some users it shouldn't be possible to edit these notes. I therefore used FieldSettings to bind the IsReadOnly-property to a property in my ViewModel. The problem however, is, that the IsReadOnly-property only works on the XamComboEditor, and not the XamTextEditor.

 

XamComboEditor-field:

 

                    <igDP:Field Name="NoteType" Label="Type">

                        <igDP:Field.Settings>

                            <igDP:FieldSettings EditorType="{x:Type igEditors:XamComboEditor}">

                                <igDP:FieldSettings.EditorStyle>

                                    <Style TargetType="{x:Type igEditors:XamComboEditor}">

                                        <Setter Property="DataContext" Value="{Binding ElementName=layoutRoot, Path=DataContext}"/>

                                        <Setter Property="ItemsSource" Value="{Binding NoteTypes}" />

                                        <Setter Property="DisplayMemberPath" Value="Name" />

                                        <Setter Property="ValuePath" Value="NoteTypeId" />

                                        <Setter Property="IsReadOnly" Value="{Binding M.AccessReadOnly}" />

                                    </Style>

                                </igDP:FieldSettings.EditorStyle>

                            </igDP:FieldSettings>

                        </igDP:Field.Settings>

                    </igDP:Field>

 

 

XamTextEditor-field:

 

<igDP:Field Name="NoteText" Label="" Width="*">

                        <igDP:Field.Settings>

                            <igDP:FieldSettings EditorType="{x:Type igEditors:XamTextEditor}">

                                <igDP:FieldSettings.EditorStyle>

                                    <Style TargetType="{x:Type igEditors:XamTextEditor}">

                                        <Setter Property="IsReadOnly" Value="{Binding M.AccessReadOnly}" />

                                    </Style>

                                </igDP:FieldSettings.EditorStyle>

                            </igDP:FieldSettings>

                        </igDP:Field.Settings>

                    </igDP:Field>

The IsReadOnly-property works just fine if I set it to false in the XAML. But when I use databinding it doesn't...

 

 

Parents Reply
  • 655
    posted in reply to Christian Tang Christensen

    Hello Stefan

    I have another question relating to xamtexteditor ,actually i have requirement to make the xamtexteditor readonly false means in edit mode when i click the contextmenu remove menu for tabitem  item then only the xamtexteditor in that tab should be in edit mode below is my sample

    <Window x:Class="WpfApplication3.MainWindow"
            xmlns="
    http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:ing="clr-namespace:Infragistics.Controls.Menus;assembly=InfragisticsWPF4.Controls.Menus.XamDataTree.v11.2"
            xmlns:igEditors="http://infragistics.com/Editors"
            xmlns:igWindows="http://infragistics.com/Windows"
            Title="MainWindow" Height="350" Width="525">

        <Grid>
            <DockPanel>
                <igWindows:XamTabControl Background="AliceBlue" BorderBrush="AliceBlue" Name="SimTabControl">
                    <igWindows:XamTabControl.ItemContainerStyle>
                        <Style TargetType="{x:Type igWindows:TabItemEx}">
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type igWindows:TabItemEx}">
                                        <Grid SnapsToDevicePixels="true" Name="grdedit1">
                                            <Border
           Name="Bdedit"
           Padding="{TemplateBinding Padding}"
           BorderBrush="{TemplateBinding BorderBrush}"
           Background="{TemplateBinding Background}"
           BorderThickness="1,1,1,0"
           CornerRadius="3,3,0,0">
                                                <Grid Name="grdedit2">
                                                    <!--Substitute the ContentPresenter with a XamTextEditor-->
                                                    <igEditors:XamTextEditor x:Name="txtedit"
                                                        BorderThickness="0"
                                                        Background="Transparent"
                                                        Value="{Binding Header,
                                                        RelativeSource={RelativeSource TemplatedParent}}" IsReadOnly="{Binding ElementName=txtedit, Path=DataContext.IsRO}">
                                                        <igEditors:XamTextEditor.ContextMenu>
                                                           <ContextMenu Name="tabContextMenu">
                                                                <MenuItem Header="Rename" Click="MenuItem_Click"></MenuItem>
                                                            </ContextMenu>
                                                        </igEditors:XamTextEditor.ContextMenu>
                                                    </igEditors:XamTextEditor>
                                                </Grid>
                                            </Border>
                                        </Grid>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </igWindows:XamTabControl.ItemContainerStyle>
                </igWindows:XamTabControl>
            </DockPanel>
        </Grid>
    </Window>
     

Children