I am using Telerik WPF Q3 2012.
I am following the example in http://www.telerik.com/help/wpf/raddataform-customized-fields.html
Since I can only upload images, I am including the text of MainWindow here (see below).
Summary;
- When I use the standard DataFormDataField with Label and DataMemberBinding, things are good (I can see data and it is read only until I click Edit).
- When I use the DataFormDataField.ContentTemplate as per the example, I see a blank label and blank text field. I can not change the data
- When I tried DataFormDataField.Content, I can see the data but it is always writable (even before I click the edit button).
I would like to get the DataFormDataField.ContentTemplate working so I can create the field layout that I want. I think I am missing something.
Please help
Thank you
Mark
------------MainWindow.xaml.cs ----------------
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Example
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
MyDataForm.ItemsSource = GetData();
}
private ObservableCollection<TestData> GetData()
{
ObservableCollection<TestData> result = new ObservableCollection<TestData>();
TestData a = new TestData()
{
Name = "Hello",
Remark = "Where are you?",
Comment = "Bye"
};
result.Add(a);
return result;
}
private void MyDataForm_EditEnded_1(object sender, Telerik.Windows.Controls.Data.DataForm.EditEndedEventArgs e)
{
TestData a = MyDataForm.CurrentItem as TestData;
// Notice that a.Remark is not changed event if you edit data in the remarks field
}
}
public class TestData
{
public String Name { get; set; }
public String Remark{ get; set; }
public String Comment { get; set; }
}
}
----------------- MainWindow.xaml ---------------
<Window x:Class="Example.MainWindow"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.Resources>
<DataTemplate x:Key="MyDataTemplate">
<StackPanel>
<!-- Basic definition -->
<telerik:DataFormDataField Label="Name" DataMemberBinding="{Binding Name}" ToolTip="Basic Layout" />
<!-- Based on Custom Fields example, but nothing is displayed -->
<telerik:DataFormDataField ToolTip="Nothing is displayed" >
<telerik:DataFormDataField.ContentTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBox Text="Remarks" Background="Green"/>
<TextBox Text="{Binding Remarks, Mode=TwoWay}" />
</StackPanel>
</DataTemplate>
</telerik:DataFormDataField.ContentTemplate>
</telerik:DataFormDataField>
<!-- Another Attempt, but it is readable before click Edit button -->
<telerik:DataFormDataField Label="Comment" ToolTip="Always Editable" >
<telerik:DataFormDataField.Content>
<TextBox Text="{Binding Comment, Mode=TwoWay}" />
</telerik:DataFormDataField.Content>
</telerik:DataFormDataField>
</StackPanel>
</DataTemplate>
</Grid.Resources>
<!-- Metadata information -->
<telerik:RadDataForm x:Name="MyDataForm"
AutoGenerateFields="False"
ReadOnlyTemplate="{StaticResource MyDataTemplate}"
EditTemplate="{StaticResource MyDataTemplate}"
CommandButtonsVisibility="Edit,Commit, Cancel"
EditEnded="MyDataForm_EditEnded_1">
</telerik:RadDataForm>
</Grid>
</Window>