Windows Phone 앱에서 타일에 하나 이상의 체크 박스를 표시하려고합니다. 이 작업은 이미 TextBlocks에서 작동하지만 CheckBox를 사용하면 CheckBox 자체의 텍스트가 아닌 CheckBox의 텍스트 만 표시됩니다. 나는 위의 방법에 의해 생성 된 배경 이미지 타일을 만드는 경우타일 용 이미지로 체크 박스 렌더링
public void CreateTile()
{
StackPanel panel = new StackPanel();
panel.VerticalAlignment = VerticalAlignment.Top;
panel.Margin = new Thickness(7.0, 7.0, 7.0, 0);
panel.Width = 336;
panel.Height = 336;
panel.Orientation = Orientation.Vertical;
// Create and add a CheckBox for each task
foreach (var task in _tasks)
{
TextBlock textBlock = new TextBlock();
textBlock.TextWrapping = TextWrapping.Wrap;
textBlock.Style = App.Current.Resources["PhoneTextLargeStyle"] as Style;
textBlock.Foreground = new SolidColorBrush(Colors.White);
textBlock.Text = task.Text;
CheckBox checkBox = new CheckBox();
checkBox.IsChecked = task.IsDone;
checkBox.Content = textBlock;
panel.Children.Add(checkBox);
}
Grid layoutRoot = new Grid();
layoutRoot.Background = new SolidColorBrush(Colors.Blue);
layoutRoot.Width = 336;
layoutRoot.Height = 336;
layoutRoot.Children.Add(panel);
layoutRoot.Measure(new Size(336, 336));
layoutRoot.Arrange(new Rect(0, 0, 336, 336));
layoutRoot.UpdateLayout();
// Render grid into bitmap
WriteableBitmap bitmap = new WriteableBitmap(336, 336);
bitmap.Render(layoutRoot, null);
bitmap.Invalidate();
// Save background image for tile to isolated storage
Uri backgroundImage = TileHelper.SaveTileImage(bitmap);
}
이 타일은 다음과 같이 표시됩니다 :
이
내 코드의 샘플입니다 보시다시피 텍스트가 표시되지만 텍스트 앞에 체크 표시가 없습니다.
이것은 정말 좋은 해결 방법입니다! 여전히 체크 박스 컨트롤이 올바르게 렌더링되지 않는 이유를 알고 싶습니다. –
'HubTile'처럼 바뀌지 않는 타일이 있다면, Coding4Fun Toolkit을 사용해 볼 수도 있습니다. 나는 다른 CheckBox와 함께 CheckBox 컨트롤을 표시 할 것이라고 확신한다. http://www.geekchamp.com/articles/getting-started-with-the-coding4fun-toolkit-tile-control –
내 대답이 유용하다고 생각되면 대답으로 받아들입니다. 많은 감사합니다. –