Ich habe eine C# WPF-Anwendung, die ein Benutzersteuerelement enthält:Fehler: „Dieser Vorgang ist nur gültig, auf Elemente, die diese Vorlage angewendet haben“
<UserControl
x:Name="payrollEntryControl"
x:Class="MyNamespace.PayrollEntryControl"
[...]
>
[...]
</UserControl>
Innerhalb der Benutzerkontrolle habe ich eine Telerik RadDataForm
:
<telerik:RadDataForm
x:Name="payrollAddForm"
CurrentItem="[...]"
EditTemplate="{StaticResource myEditTemplate}"
/>
Die Vorlage enthält eine Telerik RadGridView
und ein Button
:
<telerik:RadGridView Grid.Row="0" Grid.Column="0"
x:Name="workGridView"
[...]
ItemsSource="{Binding [...]}"
>
<telerik:RadGridView.Columns>
[...]
</telerik:RadGridView.Columns>
</telerik:RadGridView>
<Button Grid.Row="1" Grid.Column="0"
Command="{Binding addWorkCommand, ElementName=payrollEntryControl}"
>
Add
</Button>
Ich möchte, dass der Befehl BeginInsert()
auf workGridView
aufrufen. Aber ich kann anscheinend nicht auf workGridView
zugreifen.
Mein Befehl, so weit:
private DelegateCommand addWorkCommand_ = null;
public DelegateCommand addWorkCommand
{
get
{
if (this.addWorkCommand_ == null)
{
this.addWorkCommand_ = new DelegateCommand(
o => addWork(o)
);
}
return this.addWorkCommand_;
}
}
private void addWork(object o)
{
var addForm = this.payrollAddForm;
var editTemplate = addForm.EditTemplate;
var workGrid = editTemplate.FindName("workGridView", addForm);
}
Mein Problem? Als ich den Anruf zu editTemplate.FindName()
machen, erhalte ich eine Ausnahme:
This operation is valid only on elements that have this template applied.
Ich verstehe nicht. Ich bekomme die Vorlage aus dem Formular. Wie kann es nicht angewendet werden?
Diese Frage scheint zu den Telerik Bibliotheken sehr spezifisch. Sie werden wahrscheinlich Hilfe von jemandem benötigen, der mit den Produkten dieses Anbieters vertraut ist. Abgesehen davon, ohne eine gute [Mcve] kann es schwierig für jeden sein, das Problem direkt zu diagnostizieren. Bitte erläutern Sie, was Sie bereits im Hinblick auf das Debuggen und Recherchieren der Fehlermeldung versucht haben (einschließlich der Relevanz der zurückgegebenen Artikel [hier] (https://stackoverflow.com/search?q=%5Bc%23%5D5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% operation + ist + valide + only + on + elements + that + hat + this + template + applied.% 22)). –