This is a migrated thread and some comments may be shown as answers.

Can not find ressource "SyncToBoxTemplate"

2 Answers 65 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Andi
Top achievements
Rank 2
Andi asked on 30 Nov 2010, 04:15 PM
Hi there,

in relation to your online demo I have built a grid with syncronisation between a TextBox an the GridCells. It works fine and I decided to add theese grid to a greater application.
In this application I can't get it to work.  I just get an error the ressource "SyncToBoxTemplate" will not be found.
What does I've done wrong? I have copied the code 1:1

<Window x:Class="ICConfPrototyp.Entscheidungstabelle"
        Title="MainWindow" Height="396" Width="525" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
    <Window.Resources>
        <DataTemplate x:Key="SyncToBoxTemplate">
            <TextBox Loaded="TextBox_Loaded" />
        </DataTemplate>
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="25" />
            <RowDefinition Height="*" />
            <RowDefinition Height="30" />
        </Grid.RowDefinitions>
        <TextBox Grid.Row="0"  Height="25" VerticalAlignment="Center" Name="txtValue" IsEnabled="True" />
        <telerik:RadGridView telerik:StyleManager.Theme="Windows7" HorizontalAlignment="Stretch"  Name="rgvEntscheidungstabelle" VerticalAlignment="Stretch" ShowGroupPanel="False" CanUserReorderColumns="False" CanUserSortColumns="False"  IsManipulationEnabled="True" Loaded="rgvEntscheidungstabelle_Loaded" RowLoaded="rgvEntscheidungstabelle_RowLoaded" IsFilteringAllowed="False" Grid.Row="1" SelectionUnit="Cell" SelectionMode="Extended" SelectedCellsChanged="grdView_SelectedCellsChanged" PreviewMouseLeftButtonDown="grdView_PreviewMouseLeftButtonDown" MouseLeftButtonDown="grdView_MouseLeftButtonDown" AutoGenerateColumns="False" GroupHeaderTemplate="{StaticResource SyncToBoxTemplate}">         
            <telerik:RadGridView.LayoutTransform>
                <ScaleTransform ScaleX="{Binding Path=Value, ElementName=zoomSlider}"
                            ScaleY="{Binding Path=Value, ElementName=zoomSlider}"/>
            </telerik:RadGridView.LayoutTransform>
        </telerik:RadGridView>
        <TextBox Grid.Row="2" Height="23" HorizontalAlignment="Left" Margin="256,4,0,0" Name="txtProzent" VerticalAlignment="Top" Width="34" Text="100" HorizontalContentAlignment="Center" TextChanged="txtProzent_TextChanged" />
        <Label Content="%" Grid.Row="2" Height="28" HorizontalAlignment="Left" Margin="287,2,0,0" Name="label1" VerticalAlignment="Top" />
        <telerik:RadSlider Name="zoomSlider" Minimum="0.001" Maximum="5" Value="1" Grid.Row="2" TickFrequency=".5" TickPlacement="Both" Margin="308,0,0,0" ValueChanged="zoomSlider_ValueChanged" HandlesVisibility="Visible">
            <telerik:StyleManager.Theme>
                <telerik:Windows7Theme />
            </telerik:StyleManager.Theme>
        </telerik:RadSlider>
        <telerik:RadContextMenu.ContextMenu>
 
            <telerik:RadContextMenu Opened="RadContextMenu_Opened"
                                    ItemClick="RadContextMenu_ItemClick">
 
                <telerik:RadContextMenu.Items>
                    <!--menu items -->
 
                    <telerik:RadMenuItem Header="Zelle kopieren"
                                         Name="contextmenue_copy_cell">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/table_row.png"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem Header="kopierter Zelleninhalt einfügen"
                                         Name="contextmenue_insert_clipboard_cell">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/table_cell.png"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem IsSeparator="True" />
 
                    <telerik:RadMenuItem Header="Zeile anfügen"
                                         Name="contextmenue_append_line">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/table_row.png"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem Header="Zeile einfügen"
                                         Name="contextmenue_insert_line">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/table_column_add.png"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem Header="Zeile kopieren"
                                         Name="contextmenue_copy_line">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/copy.ico"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem Header="Zelle Editieren"
                                         Name="contextmenue_edit_cell">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/EditDocument.png"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem Header="Zeile löschen"
                                         Name="contextmenue_delete_line">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/delete.png"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem IsSeparator="True" />
 
                    <telerik:RadMenuItem Header="Spalte einfügen"
                                         Name="contextmenue_insert_column">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/table_column_add.png"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem Header="Spalte löschen"
                                         Name="contextmenue_delete_column">
                        <telerik:RadMenuItem.Icon>
                            <Image Source="/ICConfPrototyp;component/Images/table_column_delete.png"
                                   Stretch="UniformToFill" />
                        </telerik:RadMenuItem.Icon>
                    </telerik:RadMenuItem>
 
                    <!--items -->
                </telerik:RadContextMenu.Items>
 
            </telerik:RadContextMenu>
 
        </telerik:RadContextMenu.ContextMenu>
    </Grid>
</Window>

I don't have any Ideas :(

Greetings
Andi

2 Answers, 1 is accepted

Sort by
0
Andi
Top achievements
Rank 2
answered on 01 Dec 2010, 09:30 AM
This is the StackTrace:

bei MS.Internal.Helper.FindResourceHelper.DoTryCatchWhen(Object arg)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei MS.Internal.Helper.FindResourceHelper.TryCatchWhen()
bei System.Windows.FrameworkElement.FindResource(Object resourceKey)
bei ICConfPrototyp.Entscheidungstabelle.AddGridViewDataColumn(String uniqueName, Boolean insert) in G:\ICConfPrototyp\ICConfPrototyp\Entscheidungstabelle.xaml.cs:Zeile 262.
bei ICConfPrototyp.Entscheidungstabelle.TabelleErstellen() in G:\ICConfPrototyp\ICConfPrototyp\Entscheidungstabelle.xaml.cs:Zeile 56.
bei ICConfPrototyp.Entscheidungstabelle.EntscheidungstabelleLaden(String path) in G:\ICConfPrototyp\ICConfPrototyp\Entscheidungstabelle.xaml.cs:Zeile 50.
bei ICConfPrototyp.Entscheidungstabelle..ctor(String path) in G:\ICConfPrototyp\ICConfPrototyp\Entscheidungstabelle.xaml.cs:Zeile 38.
bei ICConfPrototyp.MainWindow.cmTreeOpen_Click(Object sender, RadRoutedEventArgs e) in G:\ICConfPrototyp\ICConfPrototyp\MainWindow.xaml.cs:Zeile 597.
 
The error happens in this code-snippet:
private void AddGridViewDataColumn(string uniqueName, bool insert = false)
    {
      Binding bind = null;
      if (uniqueName != " ")
      {
        bind = new Binding(uniqueName);
      }
      else
      {
        bind = new Binding("col1");
      }
      bind.Mode = BindingMode.TwoWay;
      bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
      GridViewDataColumn column = new GridViewDataColumn();
      if (uniqueName != " ")
      {
        column.UniqueName = uniqueName;
      }
      else
      {
        column.UniqueName = "col1";
      }
      column.Header = uniqueName;     // LocalizationManager.GetString(uniqueName);
      column.DataMemberBinding = bind;
      column.CellEditTemplate = (DataTemplate)FindResource("SyncToBoxTemplate");      //here happens the error
 
      if (insert)
      {
        int index = rgvEntscheidungstabelle.Columns.Count - 1;
        this.rgvEntscheidungstabelle.Columns.Insert(index, column);
      }
      else
      {
        rgvEntscheidungstabelle.Columns.Add(column);
      }
    }
0
Andi
Top achievements
Rank 2
answered on 01 Dec 2010, 02:33 PM
ok, I have found the failure in my Code.
I have two constructors. One for a new, empty Grid and one which loads content into the grid.
In the second one I forget to call the InitializeComponent - method.

Greetings
Tags
GridView
Asked by
Andi
Top achievements
Rank 2
Answers by
Andi
Top achievements
Rank 2
Share this question
or