I have been trying to do this without luck. What I'm trying to do is use an Outlook email link to run a local WPF exe with a parameter. I have been trying several things. First I created a .bat file and tried to kick it off directly from the email link (and Word link):
The batch files looks like this:
var objShell = new ActivexObject("Shell.Application");
objShell.ShellExecute("cmd.exe", "C:\\cd C:\\Debug\\MasterPage.exe 1", "C:\\WINDOWS\\system32", "open", 1);
Nothing seems to work. If anyone can help please do.
You start by examining how your mail is received, where it is stored, and what events are associated with it. At the very least, the contents of a given folder (or database) will be updated which can be monitored by a File Watcher (or other "monitor") class instance.
Get your "link" to save something if you can't figure the rest out.
I've never used it but it looks like it is referring not to the Text property of the TextBox, but to the source that is data bound to the Text property.
From looking at the code it appears it has to do with an edge case where the TextBox is pushing a change back to the binding source but may not notice if the binding source has modified that string.
// when Text is data-bound, _newTextValue is converted from a// deferred reference to a string. The binding writes the string// back to the source, then computes a new value for Text (which// may be different, either because the source normalizes the value// or because of conversion and formatting). Usually this raises// a change notification for Text, which brings the Text property and// the text container into [....]. But this doesn't happen in one// case: when the normalized value is the same as the original// value for Text. The property engine thinks that Text hasn't// changed, and doesn't raise the notification. It's true that// Text hasn't changed, but we still need to update the text container,// which now displays the wrong value.// We detect that case by checking whether _newTextValue (the// text container value) agrees with Text.
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G.K. Chesterton
I have tried a lot of things without luck. What I'm trying to do is create a XAML TabControl that keeps all of the first five visible TabItems on the first row when the last two hidden TabItems become visible. What I want is for the two last TabItems to wrap when they become visible but keep the first five on the first row. I have tried to use a TextBlock with a LineBreak but when the last two TabItems become visible the fifth TabItem wraps with the new visible last two TabItems. Any help would be great.
The answer to my problem had to do with setting the widths of the collapsed tabs once they were changed to visible. What I did was give the newly visible tabs the correct width and they pushed the other tabs to the first row.
The reason why it's not working is the MonthViewDayColumnHeader class doesn't support INotifyPropertyChanged. It's being initialized, then updated with Monday after. If you take the existing and default it to 'Sunday' you should be able to see the default value.
On that note, I know it's an example but you should probably start off with MVVM in your learning process. Have the underlying layers implement the INotifyPropertyChanged and set the context to an appropriate view model.
private static object CoerceDayNameCaption(DependencyObject d, object value)
MonthViewDayColumnHeader control = (MonthViewDayColumnHeader)d;
var dayNameCaption = control.DayNameCaption;value
return dayNameCaption ; //<=== NOW IT WORKS