How to create a subscripted text in Windows Store App?
The followed codes not work.
var s = new Span();
s.Inlines.Add(new Run() { Text = "subscript" });
ITextCharacterFormat x = (ITextCharacterFormat)s;
x.Subscript = FormatEffect.On;
Paragraph p = new Paragraph();
p.Inlines.Add(s);
rtb.Blocks.Add(p);//rtb is a RichTextBlock
or
<RichTextBlock Name="rtb" Grid.Row="2" >
<Paragraph FontSize="50" >
Some<Span Typography.Variants="Subscript" >subscript</Span>
</Paragraph>
</RichTextBlock>
Does anyone know a way?
Related
I have the following code in my HyperlinkLargeTheme.xml:
<Editbox Name="InstallDir" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes">[InstallDir]</Editbox>
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">Browse</Button>
Here is the code how bootstrapper is used in C#:
var bootstrapper =
new Bundle(ProductInformation.ProductName, netPckg, cppRedistributables, erlangPackage, rabbitMqPackage, sdkPackage, webPackage)
{
OutFileName = ProductInformation.ProductName,
Manufacturer = ProductInformation.Manufacturer,
Version = new Version(ProductInformation.Version),
UpgradeCode = new Guid(ProductInformation.UpgradeCodeBundle),
StringVariablesDefinition = #"InstallDir=[ProgramFilesFolder][WixBundleManufacturer];ServerIp=127.0.0.1;ServerPort=12543;DbConnStr=;WebSitePort=80"
};
bootstrapper.DisableModify = "yes";
bootstrapper.IncludeWixExtension(WixExtension.Util);
bootstrapper.Application.LogoFile = #"Images\WizardSmallImageFile.bmp";
bootstrapper.Application.Attributes.Add("ThemeFile", #"Theme\HyperlinkLargeTheme.xml");
bootstrapper.Application.LocalizationFile = #"Theme\HyperlinkTheme.wxl";
bootstrapper.WixSourceGenerated += Bootstrapper_WixSourceGenerated;
bootstrapper.IconFile = ProductInformation.IconFile;
bootstrapper.OutFileName = ProductInformation.ProductName + " " + ProductInformation.Version;
bootstrapper.OutDir = AppDomain.CurrentDomain.BaseDirectory;
bootstrapper.PreserveTempFiles = true;
var productMsi = bootstrapper.Build();
The content of the editbox is then used by the installer to put files in the right destination. However when browsing for folder using the BrowseButton the content of the editbox is not changed. If I chenge the name attribute of the Editbox to "FolderEditbox" the browse button works as expexted, but then the files get installed to the default install directory regardless of the content of the editbox. How can I accomplish both browsing with button and installing to the selected directory?
I'm trying to change an Image that I've defined in XAML in C++.
Currently there is no reason for me not to simply define it as it is in XAML, but later on it will need to change, so I want to get that sorted now.
Anyways, here's the XAML:
<Image x:Name="playerBot"
Width="25"
Height="25"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Source="ms-appx:///Assets/Square Button.png"
Stretch="Fill"
RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<CompositeTransform TranslateX="0"
TranslateY="0"
Rotation="0"/>
</Image.RenderTransform>
</Image>
What I have is a class which stores position data and an Image^ for the Image^ defined in XAML.
Sprite.cpp - note that the variables have been defined fine in Sprite.h
image = Windows::ApplicationModel::Package::Current->InstalledLocation->Path + image;
auto img = ref new BitmapImage;
img->UriSource = ref new Uri(image);
m_image = ref new Image;
m_image->Source = img;
m_image->Width = m_width;
m_image->MaxWidth = m_width;
m_image->MinWidth = m_width;
m_image->Height = m_height;
m_image->MaxHeight = m_height;
m_image->MinHeight = m_height;
And finally my 2 attempts to change the Image^ defined in XAML in InGamePage.cpp:
Attempt 1:
String^ img = "Assets//Main Screen Background.png";
player = new Robot(img, 25, 25, 0, 0, 10, 0.5);
playerBot = player->getImage();
Attempt 2:
String^ img = "Assets//Main Screen Background.png";
player = new Robot(img, 25, 25, 0, 0, 10, 0.5);
playerBot->MaxWidth = player->getWidth();
playerBot->MaxHeight = player->getHeight();
playerBot->Source = ref new BitmapImage(ref new Uri(Windows::ApplicationModel::Package::Current->InstalledLocation->Path + img));
What these two methods do is either absolutely nothing (method one) or simply seem to delete the image/make it invisible (method two).
img is definitely the right file location, as I've used it in XAML earlier and it worked fine.
I'm using WinRT-toolkit AreaChart, I need to change DependentRangeAxis directly in XAML code, I want to set a fixed range from 1 to 5.
<Series:Chart
x:Name="QuestionHistory"
Title="Area Chart">
<Series:AreaSeries
Title="MediaRisposte"
AnimationSequence="LastToFirst"
IndependentValueBinding="{Binding Name}"
DependentValueBinding="{Binding Value}"
DependentRangeAxis="???"
IsSelectionEnabled="True" />
</Series:Chart>
Thank you in advance.
((BarSeries)this.LikesChart.Series[0]).IndependentAxis = new LinearAxis() { Minimum = 0, Maximum = 5, Orientation = AxisOrientation.Y };
I know it's nearly 9 years late but I have to use that WinRT chart for a project so I figured I'd answer it in hopes that it has value to someone. The only options you'll be able to choose are DateTimeAxis and LinearAxis. Here's how you change it in XAML...
<Series:Chart
x:Name="QuestionHistory"
Title="Area Chart">
<Series:AreaSeries
Title="MediaRisposte"
AnimationSequence="LastToFirst"
IndependentValueBinding="{Bindng Name}"
DependentValueBinding="{Binding Value}"
IsSelectionEnabled="True">
<Series:AreaSeries.DependentRangeAxis>
<Series:LinearAxis/>
</Series:AreaSeries.DependentRangeAxis>
</Series:AreaSeries>
</Series:Chart>
I'm trying to position a Rectangle on a Canvas but can't figure out what the correct syntax is to do this. In C# I would write
rect = new Rectangle();
rect.Width = 100D;
rect.Height = 50D;
rect.Fill = new SolidColorBrush(Colors.Red);
rect.StrokeThickness = 2;
rect.Stroke = new SolidColorBrush(Colors.Black);
Canvas.SetLeft(rect,5);
Canvas.SetTop(rect,5);
DrawCanvas.Children.Add(rect);
I try to do the same thing with the embedded code but have trouble with positioning the Rectangle. What is the correct way to create and position a shape on a Canvas programatically in embedded Silverlight? This is what I have so far but when running it nothing shows on the Canvas.
HRESULT MainPage::BtnOk_Click (IXRDependencyObject* pSender, XRMouseButtonEventArgs* ? pArgs)
{
HRESULT hr = E_NOTIMPL;
if ((NULL == pSender) || (NULL == pArgs))
{
hr = E_INVALIDARG;
}
IXRApplicationPtr pApplication;
if (FAILED(hr = App::GetApplication(&pApplication)))
return hr;
IXRVisualHostPtr pVisualHost;
if (FAILED(hr = App::GetVisualHost(&pVisualHost)))
return hr;
//Create Brush
IXRSolidColorBrushPtr pPaintBrushRed;
IXRSolidColorBrushPtr pPaintBrushBlack;
COLORREF brushColorRed = RGB(255,0,0);
COLORREF brushColorBlack = RGB(0,0,0);
pApplication->CreateObject(&pPaintBrushRed);
pPaintBrushRed->SetColor(brushColorRed);
pApplication->CreateObject(&pPaintBrushBlack);
pPaintBrushBlack->SetColor(brushColorBlack);
IXRRectanglePtr pRectangle;
IXRFrameworkElementPtr pRootElement;
IXRCanvasPtr pCanvasPanel;
IXRUIElementCollectionPtr pChildrenCollection;
pApplication->CreateObject(IID_IXRRectangle, &pRectangle);
pRectangle->SetWidth(100);
pRectangle->SetHeight(50);
pRectangle->SetFill(pPaintBrushRed);
pRectangle->SetStroke(pPaintBrushBlack);
pRectangle->SetStrokeThickness(2);
pRectangle->SetName(TEXT("MyRect"));
pVisualHost->GetRootElement(&pRootElement);
pRootElement->FindName(TEXT("DrawCanvas"), &pCanvasPanel);
pCanvasPanel->GetChildren(&pChildrenCollection);
pChildrenCollection->Add(pRectangle, NULL);
pCanvasPanel->SetAttachedProperty(L"MyRect.Left",NULL,5);
pCanvasPanel->SetAttachedProperty(L"MyRect.Top",NULL,5);
/*rect = new Rectangle();
rect.Width = 100D;
rect.Height = 50D;
rect.Fill = new SolidColorBrush(Colors.Red);
rect.StrokeThickness = 2;
rect.Stroke = new SolidColorBrush(Colors.Black);
Canvas.SetLeft(rect,5);
Canvas.SetTop(rect,5);
DrawCanvas.Children.Add(rect);*/
return hr;
}
The XAML Code:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ChartApplication"
x:Class="ChartApplication.MainPage"
Width="640" Height="480">
<Grid x:Name="LayoutRoot" Background="White">
<local:ChartControl Margin="97,58,82,89"/>
<Rectangle Fill="#FFE25E5E" Stroke="Black" Height="133" Margin="97,98,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="217"/>
<Ellipse Fill="#FFB7E25E" Stroke="Black" Height="105" HorizontalAlignment="Right" Margin="0,0,41,78" VerticalAlignment="Bottom" Width="235"/>
<Button x:Name="BtnOk" Height="85" HorizontalAlignment="Left" Margin="113,0,0,89" VerticalAlignment="Bottom" Width="155" Content="Ok" Click="BtnOk_Click"/>
<Canvas x:Name="DrawCanvas" HorizontalAlignment="Right" Margin="0,98,41,198" Width="240" Background="#FFE4E4F2"/>
</Grid>
canvas may not support in embedded silverlight.
You can add directly to Grid
IXRUIElementCollectionPtr pElementCollection;
m_pLayoutRoot->GetChildren(&pElementCollection);
int nIndex=0;
pChildrenCollection->Add(pRectangle, &nIndex);
nIndex++;
I have a very simple question, but I do not know how to do that i can handle in AS script object identifier.
For example, I have a few pictures:
<mx:Image x="125" y="262" source="card/1.jpg" width="98" height="165" id="card1"/>
<mx:Image x="247" y="262" source="card/1.jpg" width="98" height="165" id="card2"/>
<mx:Image x="379" y="262" source="card/1.jpg" width="98" height="165" id="card3"/>
I need to give them a variety of sources taken from the array:
card1.source = "http://***/gallery/7/"+String(arrayOfNumber[0])+".jpg";
card2.source = "http://***/gallery/7/"+String(arrayOfNumber[1])+".jpg";
card3.source = "http://***/gallery/7/"+String(arrayOfNumber[2])+".jpg";
But this is the wrong decision and need the cycle:
for (var i:uint=0; i<=arrayOfNumber.lenght; i++){
card[i].source = "http://***/gallery/7/"+String(arrayOfNumber[i])+".jpg";
}
But that i must use instead of card[i]?
If you place all the images inside a container such as Group (flex 4.x) or Box (Flex 3), you could cycle through the children / elements of that container:
<fx:Script>
<![CDATA[
private var arrayOfNumber:Array = []; // Place your image file names here
private function loopThroughImages():void
{
var n:int = imageContainer.numElements;
for (var i:int = 0; i < n; i++)
{
Image(imageContainer.getElementAt(i)).source = "http://***/gallery/7/"+arrayOfNumber[i]+".jpg";
}
}
]]>
</fx:Script>
<s:Group id="imageContainer">
<mx:Image x="125" y="262" width="98" height="165"/>
<mx:Image x="247" y="262" width="98" height="165"/>
<mx:Image x="379" y="262" width="98" height="165"/>
<s:Group />
[Edit: Wow just realized I'm a year too late.]