में बाइंडेबल तो मैं अपने .net 4.5 प्रोजेक्ट में David Veeneman's Bindable WPF RichTextBox का उपयोग करने का प्रयास कर रहा हूं। नियंत्रण जोड़ने के बाद और मेरे कोड में ValueConverter
मैंने देखा कि केवल public object Convert()
ट्रिगर किया जाएगा लेकिन public object ConvertBack()
नहीं।WPF Richtextbox .net 4.5
इस परियोजना को टिप्पणियों को पढ़ने के बाद मैंने नियंत्रण स्रोत कोड के निम्नलिखित भागों को बदल दिया।
private static void OnDocumentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var thisControl = (EcoRichTextBox)d;
if (thisControl.m_InternalUpdatePending > 0)
{
thisControl.m_InternalUpdatePending--;
return;
}
// Changed:
try
{
thisControl.TextBox.Document = (e.NewValue == null) ? new FlowDocument() : (FlowDocument)e.NewValue;
}
catch { }
thisControl.m_TextHasChanged = false;
}
और इस घटना हैंडलर:
private void OnTextChanged(object sender, TextChangedEventArgs e)
{
// Set the TextChanged flag
m_TextHasChanged = true;
// Changed:
Document = TextBox.Document;
}
अब ValueConverter
के दोनों विधि ठीक काम किया लेकिन private void OnNormalTextClick(object sender, RoutedEventArgs e)
तरह की घटनाओं रनटाइम पर एक FatalExecutionEngineError
कारण बनता है।
तो मुझे आश्चर्य है कि क्या बड़े बदलाव WPF 3.5 से 4.5 के रूप में हैं?
या किसी के पास इस बारे में काम करने का विचार है?
अद्यतन
XAML
<uc:FsRichTextBox Margin="5"
Document="{Binding Path=Ereignis.Bericht,
Converter={StaticResource flowDocumentConverter},
UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True}" />
क्या आप दिखा सकते हैं कि आप बाध्यकारी कैसे बनाते हैं? –
क्या आपने .NET Framework 4.6 स्थापित किया है (भले ही आप 4.5 को लक्षित करते हैं)? क्या आप रिलीज या डीबग में कोशिश कर रहे हैं? इसके अलावा, मैं डेमो और आपके परिवर्तनों के साथ बॉक्स द्वारा पुन: पेश नहीं कर सकता, क्या आपके पास एक पूर्ण रेपो कोड है? –
@SimonMourier मेरी वर्तमान विकास मशीन पर .NET 4.5.1 स्थापित है। लक्ष्य अभी भी 4.5 – Smartis