I am creating an application for the Windows Store, but I have problems with the thread that are testing a method that creates a Grid (which is a XAML control). I tried to test using NUnit and MSTest.
Testing method:
[TestMethod] public void CreateThumbnail_EmptyLayout_ReturnsEmptyGrid() { Layout l = new Layout(); ThumbnailCreator creator = new ThumbnailCreator(); Grid grid = creator.CreateThumbnail(l, 192, 120); int count = grid.Children.Count; Assert.AreEqual(count, 0); }
And the creator of .CreateThumbnail (the method that causes the error):
public Grid CreateThumbnail(Layout l, double totalWidth, double totalHeight) { Grid newGrid = new Grid(); newGrid.Width = totalWidth; newGrid.Height = totalHeight; SolidColorBrush backGroundBrush = new SolidColorBrush(BackgroundColor); newGrid.Background = backGroundBrush; newGrid.Tag = l; return newGrid; }
When I run this test, it throws this error:
System.Exception: The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))
Marc verdaguer
source share