The UI object Xamarin.Forms.Label object supports the property FormattedText.
Unfortunately there is only a simple property Text on the UI object Xamarin.Forms.Buttons.
Is there a way to have a button appear with formatted text ?
Not without creating a custom renderer.
You can treat the string in the ViewModel and Bind to the Button Text Property;
Related
Is it possible to change the back button text in the NavigationPage after the constructor of the page ?
I have a list of buttons inside a page which are used to change the current language and want to update the back button’s title according to the selected language.
Thanks !
I think you're looking for something like this : https://forums.xamarin.com/discussion/comment/272076/#Comment_272076
Bind the Title's page property to a string and update the string depending on your selected language.
I have a very common problem, but I couldn't find any valid solution.
I want to create a Button able to contain more than a simple Label or Image. In fact, Xamarin Button exposes only Text and Image properties, but in my case I want to construct a more flexible set of controls (e.g. a StackPanel with a list of controls).
I implemented a ContentView acting as a Button after having added TapGestureRecognizer and it works from the pure functional point of view. What I don't like is the missing of all Visual States of a Button.
Therefore, I was thinking how to implement a Custom Renderer of a Button. I would like to expose a ContentPresenter BindableProperty and then set that property to the Button.Content (speaking in UWP terms) in the Renderer class. I think this could be a solution, the problem is that I don't know how to "cast" a Xamarin.ContentPresenter to a UWP.ContentPresenter. Do you have any idea about how to implement a Button able to contain any generic Content?
I want to show some text in my program and I tried with TextArea. However, the text shown is changeable. How can I make the text read only?
I did it like this:
#FXML
private TextArea myText;
and then added the following code to initialise():
myText.setEditable(false);
I needed read-only text fields, but setting the disabled property used styling which was not correct in context (in my scenario, the text field was an input to a search function where a value could be fixed in some cases - disabling the text field implied that it was not part of the search, rather than the value was fixed).
In the end I landed up using:
txtInput.setEditable(false);
txtInput.setMouseTransparent(true);
txtInput.setFocusTraversable(false);
This results in a normal looking text field that is non-reactive to the user.
Maybe just a text would serve the purpose.
Or if you want to show the text in a text field, then:
tf.setDisable(true)
In FXML, add editable="false" to your TextField tag.
Or uncheck the "Editable" checkbox in Scene Builder.
I would say just use a Label.
<TextField fx:id="input" disable="true"/>
You can use following statement in order to make text-area object non-editable with auto scrollbar:
textAreaObjectName.setEditable(false);
Hint: After setting the text to that respective textarea object using textAreaObjectName.setText() method.
I have created a custom column header renderer for my AdvancedDataGrid which has a text and a little button inside. Everything works just fine, until a moment when I have to return a headerText by the button click.
Since my custom renderer is an extention of AdvancedDataGridHeaderRenderer it has inherited property label which is IUITextField. So, when I call label.text from inside the custom renderer I get only truncated text, but I need the original one.
Any idea how to get not truncated text from IUITextField? Or maybe the original text is stored somewhere else and I am looking in a wrong place?
You can read the header text from the headerText property of the corresponding AdvancedDataGridColumn
I've got two forms, the mainform which opens up a dialog box that has a text box in it. How can I pass the text from the textbox back to the mainform? I've tried alot of different methods but I think I'm missing something simple. Thanks for any help.
The dialog box still exists after it closes. So you can, from the main form, do something like this:
QString text = subform->textEdit->text();
This assumes your dialog box is subform and the name you gave to the text edit box is textEdit. Make sure you make textEdit public in the designer.
If you don't want to make textEdit public, then you can add a getter to subform.
If you use the MVC pattern, you create the model object (container for your data) and pass to the text box to fill in the text value itself. When the dialog is closed, just read the value from the model and put it wherever you need it.