Hi,
I´ve a problem with RadRichTextBox. When I try use in my richtextbox binding twoway, the application give me an inner exception. Here are my xaml code:
<telerikHtml:HtmlDataProvider x:Name="HtmlProvider" RichTextBox="{Binding ElementName=LeitorTemplateNotif}" Html="{Binding Path=ConteudoProp,Mode=TwoWay}"/>
<telerik:RadRichTextBox Margin="-1,3,0,0" Grid.Column="1" Grid.Row="0" Width="500" MaxWidth="500" Height="225" MaxHeight="255" Name="LeitorTemplateNotif" IsReadOnly="False" Visibility="{Binding Path=DataContext.VisibilidadeConteudoPropDataForm,Mode=TwoWay, ElementName=LayoutRoot}"/>
And my viemodel:
public void DF_EditEnding(object sender, Telerik.Windows.Controls.Data.DataForm.EditEndingEventArgs e)
{
this.VisibilidadeBotoes = Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Add |
Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Edit |
Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Delete |
Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Commit |
Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Cancel;
if (e.EditAction == Telerik.Windows.Controls.Data.DataForm.EditAction.Commit)
{
if (this.novoItem)
{
bool i;
TemplatesNotificacoes tn = new TemplatesNotificacoes();
tn.IdProp = -1;
tn.DesignacaoProp = TemplateNotificacaoSeleccionada.DesignacaoProp;
tn.TipoNotificacaoIdProp = TemplateNotificacaoSeleccionada.TiposnotificacaoProp.IdProp;
tn.ConteudoProp = TemplateNotificacaoSeleccionada.ConteudoProp;
tn.SitProp = 1;
tn.InsDataProp = DateTime.Now;
tn.InsUserProp = AppGlobais.Globais.Utilizador.LoginProp;
tn.AltDataProp = null;
tn.AltUserProp = null;
tn.VersaoProp = 0;
if (tn.DesignacaoProp != null)
{
i = contextoSGA.TemplatesNotificacoes.Any(a =>
a.DesignacaoProp.ToUpper().Trim() == tn.DesignacaoProp.ToUpper().Trim());
if (i == true)
{
parametrosJanela.Closed = null;
parametrosJanela.Header = "Template de Notificação Existente";
parametrosJanela.Content = "\nJá existe um Template de Notificação\ncom a designacao:\n\n[" + tn.DesignacaoProp + "]";
RadWindow.Alert(parametrosJanela);
BloquearLeituraEscritaDados = false;
}
else
{
contextoSGA.TemplatesNotificacoes.Add(tn);
BloquearLeituraEscritaDados = true;
this.novoItem = false;
}
}
else
{
}
}
else
{
if (TemplateNotificacaoSeleccionada.DesignacaoProp != null)
{
if (TemplateNotificacaoSeleccionada.HasChanges)
{
TemplatesNotificacoes tn = TemplateNotificacaoSeleccionada;
tn.TipoNotificacaoIdProp = TemplateNotificacaoSeleccionada.TiposnotificacaoProp.IdProp;
tn.SitProp = 1;
tn.AltDataProp = DateTime.Now;
tn.AltUserProp = AppGlobais.Globais.Utilizador.LoginProp;
tn.VersaoProp += 1;
bool i = contextoSGA.TemplatesNotificacoes.Any(a =>
a.DesignacaoProp.ToUpper().Trim() == tn.DesignacaoProp.ToUpper().Trim() &&
a.IdProp != tn.IdProp);
if (i == true)
{
parametrosJanela.Closed = null;
parametrosJanela.Header = "Template de Notificação Existente";
parametrosJanela.Content = "\nJá existe um Template de Notificação\ncom a designacao:\n\n[" + tn.DesignacaoProp + "]";
RadWindow.Alert(parametrosJanela);
contextoSGA.RejectChanges();
}
else
{
}
}
}
}
}
}
I don´t know how fix that, I need the twoWay mode to save data in DB.
Thanks in advance.
I´ve a problem with RadRichTextBox. When I try use in my richtextbox binding twoway, the application give me an inner exception. Here are my xaml code:
<telerikHtml:HtmlDataProvider x:Name="HtmlProvider" RichTextBox="{Binding ElementName=LeitorTemplateNotif}" Html="{Binding Path=ConteudoProp,Mode=TwoWay}"/>
<telerik:RadRichTextBox Margin="-1,3,0,0" Grid.Column="1" Grid.Row="0" Width="500" MaxWidth="500" Height="225" MaxHeight="255" Name="LeitorTemplateNotif" IsReadOnly="False" Visibility="{Binding Path=DataContext.VisibilidadeConteudoPropDataForm,Mode=TwoWay, ElementName=LayoutRoot}"/>
And my viemodel:
public void DF_EditEnding(object sender, Telerik.Windows.Controls.Data.DataForm.EditEndingEventArgs e)
{
this.VisibilidadeBotoes = Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Add |
Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Edit |
Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Delete |
Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Commit |
Telerik.Windows.Controls.Data.DataForm.DataFormCommandButtonsVisibility.Cancel;
if (e.EditAction == Telerik.Windows.Controls.Data.DataForm.EditAction.Commit)
{
if (this.novoItem)
{
bool i;
TemplatesNotificacoes tn = new TemplatesNotificacoes();
tn.IdProp = -1;
tn.DesignacaoProp = TemplateNotificacaoSeleccionada.DesignacaoProp;
tn.TipoNotificacaoIdProp = TemplateNotificacaoSeleccionada.TiposnotificacaoProp.IdProp;
tn.ConteudoProp = TemplateNotificacaoSeleccionada.ConteudoProp;
tn.SitProp = 1;
tn.InsDataProp = DateTime.Now;
tn.InsUserProp = AppGlobais.Globais.Utilizador.LoginProp;
tn.AltDataProp = null;
tn.AltUserProp = null;
tn.VersaoProp = 0;
if (tn.DesignacaoProp != null)
{
i = contextoSGA.TemplatesNotificacoes.Any(a =>
a.DesignacaoProp.ToUpper().Trim() == tn.DesignacaoProp.ToUpper().Trim());
if (i == true)
{
parametrosJanela.Closed = null;
parametrosJanela.Header = "Template de Notificação Existente";
parametrosJanela.Content = "\nJá existe um Template de Notificação\ncom a designacao:\n\n[" + tn.DesignacaoProp + "]";
RadWindow.Alert(parametrosJanela);
BloquearLeituraEscritaDados = false;
}
else
{
contextoSGA.TemplatesNotificacoes.Add(tn);
BloquearLeituraEscritaDados = true;
this.novoItem = false;
}
}
else
{
}
}
else
{
if (TemplateNotificacaoSeleccionada.DesignacaoProp != null)
{
if (TemplateNotificacaoSeleccionada.HasChanges)
{
TemplatesNotificacoes tn = TemplateNotificacaoSeleccionada;
tn.TipoNotificacaoIdProp = TemplateNotificacaoSeleccionada.TiposnotificacaoProp.IdProp;
tn.SitProp = 1;
tn.AltDataProp = DateTime.Now;
tn.AltUserProp = AppGlobais.Globais.Utilizador.LoginProp;
tn.VersaoProp += 1;
bool i = contextoSGA.TemplatesNotificacoes.Any(a =>
a.DesignacaoProp.ToUpper().Trim() == tn.DesignacaoProp.ToUpper().Trim() &&
a.IdProp != tn.IdProp);
if (i == true)
{
parametrosJanela.Closed = null;
parametrosJanela.Header = "Template de Notificação Existente";
parametrosJanela.Content = "\nJá existe um Template de Notificação\ncom a designacao:\n\n[" + tn.DesignacaoProp + "]";
RadWindow.Alert(parametrosJanela);
contextoSGA.RejectChanges();
}
else
{
}
}
}
}
}
}
I don´t know how fix that, I need the twoWay mode to save data in DB.
Thanks in advance.