Мы просто недавно выпустили бета-версию Выпуск TheBeerHouse MVC, который должен дать Вам некоторые яркие примеры. Существует также книга записанное объяснение всего, но необходимо будет ожидать немного дольше, чтобы это вышел :D.
Помните, что SnapsToDevicePixels
только контролирует, чтобы отдельные точки не лежали на дробных значениях пикселей. Для горизонтальных и вертикальных линий это легче всего заметить. В вашем случае вы видите совершенно другую проблему. Края ваших фигур сглаживаются и, следовательно, смешиваются с фоном. Поскольку ваши фигуры точно примыкают друг к другу, они будут смешаны с белым фоном окна. Вместо этого вы можете попробовать поместить одну фигуру позади другой:
<Canvas>
<Path Fill="#FF000000" Data="M 0.00,0.00 L 7.50,0.00 2.50,10.00 0.00,10.00 " />
<Path Fill="#FF260014" Data="M 2.50,0.00 L 7.50,0.00 2.50,10.00 0.00,10.00 " />
<Canvas.RenderTransform>
<ScaleTransform ScaleX="{Binding ElementName=slider,Path=Value}" ScaleY="{Binding ElementName=slider,Path=Value}" />
</Canvas.RenderTransform>
</Canvas>
, которая должна отображаться правильно. попробуйте запустить процесс с параметром командной строки "-nomerge":
Process objProcess = Process.Start("IEXPLORE.EXE", "-nomerge http://google.com/");
Интересное наблюдение : objProcess.ExitCode
(по крайней мере для IE8) будет равен 0
, если завершится передача управления другому экземпляру и 1
, если он был фактически закрыт пользователем.
Может быть, IEXPLORE сам запускает другой процесс для URL-адреса и завершает созданный вами процесс? Как форк
в Unix?
Если на машине уже запущен другой экземпляр iexplore.exe, новые экземпляры будут подключаться к нему и немедленно завершать работу. Также возможно, что даже в случае, когда iexplore не запущен, многопроцессорная архитектура Internet Explorer 8 имеет родительский процесс запуска дочернего брокера и немедленно завершает работу.
Но эти ответы не относятся к делу. Вам не следует запускать Internet Explorer напрямую. Если пользователь настроил другой браузер по умолчанию, он будет недоволен тем, что вы игнорируете его предпочтения. Вместо этого, почему бы вам не попробовать
System.Diagnostics.Process.Start("http://google.com");
напрямую, и это будет правильно. Вы не сможете определить, когда браузер закрылся, но если команда открыла новую вкладку в существующем сеансе браузера, например,